mysql数据库优化课程---7、网站的搜索技术怎么选
mysql数据库优化课程---7、网站的搜索技术怎么选
一、总结
一句话总结:
1.量很小(像小网站)---like
2.量大一点()---标签
3.量超级大(像百度)---搜索引擎
1、数据库中取一列比取*要快给了我们什么启示?
就是在数据量比较大的情况,比较影响速度的情况。不要取*号,取需要的那些列就好
2、查询一般优化?
1.查单列的速度要优于多列.
2.查主键索引的列中的所有值要比其他列速度快.
3、mysql中如何中断查询语句?
a、ctrl+c
b、\c
4、like做搜索适合的场合是什么?
小公司,数据量不是很大的时候,适合用like做搜索
因为like的效率不是很高
like的使用方法:
select * from user where username like '%user1%';
5、云知梦网站搜linux课程的时候为啥子可以出现shell?
因为课程存的时候不仅存了标题,其实还存了tag,或者说关键字
比如
linux服务器运维
标签:linux,shell,unix
shell脚本编程
标签:linux,shell
这样搜linux的时候两个都可以出现,其实和我自己做的博客检索思路也是比较像的
其实可以再加一个标签表(然后在标签表中用等于号搜索):
而且是给标签表的name加的索引,用的是=号而不是like
6、like和索引的关系?
like会使索引失效
7、sphinx:php中的搜索引擎?
可以在php手册中找到
其实php支持的搜索引擎有好几个,可以去php手册里面看看,
其实手册里面是啥都有的
8、网站的搜索技术?
1.量很小(像小网站)---like
2.量大一点()---标签
3.量超级大(像百度)---搜索引擎
二、内容在总结中
查询一般优化:
1.查单列的速度要优于多列.
2.查主键索引的列中的所有值要比其他列速度快.
选择特定的字段:
select id,username from user;
给字段名起别名:
select username as user,password as pass from user;
select username user,password pass from user;
distinct关键字的使用:
select distinct password from user;
使用where条件进行查询:
select * from user where id>=3 and id<=5;
between and的使用方法:
select * from user where id between 3 and 5;
or的使用方法:
select * from user where id=3 or id=5 or id=7;
in的使用方法:
select * from user where id in(3,5,7);
like的使用方法:
select * from user where username like '%user1%';
网站的搜索技术:
1.like
2.标签
3.搜索引擎
mysql数据库优化课程---7、网站的搜索技术怎么选的更多相关文章
- mysql数据库优化课程---18、mysql服务器优化
mysql数据库优化课程---18.mysql服务器优化 一.总结 一句话总结: 1.四种字符集问题:字符集都设置为utf-82.slow log慢查询日志问题3.root密码丢失 1.mysql存在 ...
- mysql数据库优化课程---17、mysql索引优化
mysql数据库优化课程---17.mysql索引优化 一.总结 一句话总结:一些字段可能会使索引失效,比如like,or等 1.check表监测的使用场景是什么? 视图 视图建立在两个表上, 删除了 ...
- mysql数据库优化课程---9、php用什么写的
mysql数据库优化课程---9.php用什么写的 一.总结 一句话总结:php是用c语言写的,所以php里面的那些模块什么都是c语言 c 1.php用什么写的? c php是用c语言写的,所以php ...
- mysql数据库优化课程---16、mysql慢查询和优化表空间
mysql数据库优化课程---16.mysql慢查询和优化表空间 一.总结 一句话总结: a.慢查询的话找到存储慢查询的那个日志文件 b.优化表空间的话可以用optimize table sales; ...
- mysql数据库优化课程---15、mysql优化步骤
mysql数据库优化课程---15.mysql优化步骤 一.总结 一句话总结:索引优化最立竿见影 1.mysql中最常用最立竿见影的优化是什么? 索引优化 索引优化,不然有多少行要扫描多少次,1亿行大 ...
- mysql数据库优化课程---14、常用的sql技巧
mysql数据库优化课程---14.常用的sql技巧 一.总结 一句话总结:其实就是sql中那些函数的使用 1.mysql中函数如何使用? 选择字段 其实就是作用域select的选择字段 3.转大写: ...
- mysql数据库优化课程---13、mysql基础操作
mysql数据库优化课程---13.mysql基础操作 一.总结 一句话总结:mysql复制表,索引,视图 1.mysql如何复制表? like select * 1.复制表结构 create tab ...
- mysql数据库优化课程---12、mysql嵌套和链接查询
mysql数据库优化课程---12.mysql嵌套和链接查询 一.总结 一句话总结:查询user表中存在的所有班级的信息? in distinct mysql> select * from cl ...
- mysql数据库优化课程---11、mysql普通多表查询
mysql数据库优化课程---11.mysql普通多表查询 一.总结 一句话总结:select user.username,user.age,class.name,class.ctime from u ...
随机推荐
- python基础之类的静态方法和类方法
一 静态方法 通常情况下,在类中定义的所有函数都是对象的绑定方法,对象再调用绑定方法时会自动将自己作为参数传递给方法的第一个参数.除此之外还有两种常见的方法:静态方法和类方法,二者是为类量身定制的,但 ...
- 替换DOM元素 parent.replaceChild(new, old)
p.replaceChild(nodeNext, p.children[j]); p.replaceChild(nodePrev, p.children[j + 1]);
- MongoDB-2:MongoDB添加、删除、修改
一.简介 MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSQL数据库产品中最热门的一种.数据被分组存储在数据集中,被称为一个集合(Collenction)和对于存储在MongoDB ...
- 我的Android进阶之旅------>Android自定义View实现带数字的进度条(NumberProgressBar)
今天在Github上面看到一个来自于 daimajia所写的关于Android自定义View实现带数字的进度条(NumberProgressBar)的精彩案例,在这里分享给大家一起来学习学习!同时感谢 ...
- AngularJs使用过程中,在ng-repeat中使用track by
1.问题描述: 点击删除后:table中的被选中设备确实被删除了,但是data-table并没有重新加载出来, 查看js代码: 先对$scope.data_table进行了destroy(),然后重新 ...
- filebeat 简介安装
Filebeat is a lightweight shipper for forwarding and centralizing log data. Installed as an agent on ...
- Deeplearning——动态图 vs. 静态图
动态图 vs. 静态图 在 fast.ai,我们在选择框架时优先考虑程序员编程的便捷性(能更方便地进行调试和更直观地设计),而不是框架所能带来的模型加速能力.这也正是我们选择 PyTorch 的理由, ...
- yum安装mysql5.6
1.检查系统是否安装其他版本的MYSQL数据 yum list installed | grep mysql yum -y remove mysql-libs.x86_64 2.安装及配置 wget ...
- 练T25- focus必看!所有成功截图汇总
http://www.guokr.com/post/565880/ 25914人加入此小组 发新帖 练T25- focus必看!所有成功截图汇总! 读图模式 作家向威 作家 2014-02-22 07 ...
- Python 中的条件运算符
一.概述 在 C.Java 等语言中,有一种常见的条件运算符,又叫"三目运算符". 详情参见 [条件运算符-wikipedia][https://zh.wikipedia.org/ ...