1. 避免全盘扫描.
select * from table -> *会引起全盘扫描.
用谁查谁.
select * from table where like %xx% -> like会引起全盘扫描.
solr,es. -> 使用第三方搜索引擎.
select... where column is [not] null -> 对null进行判断时.
字段设置为not null,设置默认值为0.
select.. 条件1 or 条件2 -> 使用or链接条件.
可以使用数据库提供的集合操作.
select.. 条件中尽量避免使用!= , <> -> 不等于尽量少用.
select... where exists (查询 . )
select... in , not in -> 尽量避免使用.
select... where exists (查询 . )
...
explain查看sql语句执行计划.
2. 添加索引(不要随便加).
1. 索引生效.
2. 根据索引类型的不同,在使用时需要注意. (Btree,Hash).
3. 一个表中的索引不要添加太多.可能会影响到增删.
... ...
3. 使用第三方.(用钱顶.)
1. mybatis提供了一级缓存和二级缓存.
2. 使用中间件添加缓存. NoSql(redis).
3. 使用中间件来实现全文搜索. es(倒排索引).
4. 分库分表. mycat.
网友评论