微信扫一扫打赏支持

mysql数据库优化课程---7、网站的搜索技术怎么选

mysql数据库优化课程---7、网站的搜索技术怎么选

一、总结

一句话总结:

1.量很小(像小网站)---like
2.量大一点()---标签
3.量超级大(像百度)---搜索引擎

 

1、数据库中取一列比取*要快给了我们什么启示?

就是在数据量比较大的情况,比较影响速度的情况。不要取*号,取需要的那些列就好

 

2、查询一般优化?

1.查单列的速度要优于多列.
2.查主键索引的列中的所有值要比其他列速度快.

 

3、mysql中如何中断查询语句?

a、ctrl+c
b、\c:反斜杠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手册中找到

其实php支持的搜索引擎有好几个,可以去php手册里面看看,

其实手册里面是啥都有的

 

 

 

二、内容在总结中

查询一般优化:
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.搜索引擎

 

5、云知梦网站搜linux课程的时候为啥子可以出现shell?

因为课程存的时候不仅存了标题,其实还存了tag,或者说关键字

比如

linux服务器运维

标签:linux,shell,unix

shell脚本编程

标签:linux,shell

 

这样搜linux的时候两个都可以出现,其实和我自己做的博客检索思路也是比较像的

 

其实可以再加一个标签表(然后在标签表中用等于号搜索):

而且是给标签表的name加的索引,用的是=号而不是like

 

 

 
posted @ 2019-05-27 23:27  范仁义  阅读(191)  评论(0编辑  收藏  举报