1) 只返回需要的数据
a) 不要写SELECT *的语句
b) 合理写WHERE子句,不要写没有WHERE的SQL语句。
2) 尽量少做重复的工作
可以合并一些sql语句
3) 适当建立索引(不是越多越好)但以下几点会进行全表扫描
a) 左模糊查询’%...’
b) 使用了不等操作符!=
c) Or使用不当,or两边都必须有索引才行
d) In 、not in
e) Where子句对字段进行表达式操作
f) 对于创建的复合索引(从最左边开始组合),查询条件用到的列必须从左边开始不能间隔。否则无效,复合索引的结构与电话簿类似
g) 全文索引:当于对文件建立了一个以词库为目录的索引(文件大全文索引比模糊匹配效果好)
能在char、varchar、text类型的列上面创建全文索引
MySQL 5.6 Innodb引擎也能进行全文索引
搜索语法:MATCH (列名1, 列名2,…) AGAINST (搜索字符串 [搜索修饰符])
如果列类型是字符串,但在查询时把一个数值型常量赋值给了一个字符型的列名name,那么虽然在name列上有索引,但是也没有用到。
4) 使用join代替子查询
5) 使用union代替手动创建临时表
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




