索引
函数的参数,否则无法使用索引
多个列作为条件进行查询时,多列索引,比单列索引性能更高
like %字段名 会使索引失效
建立多列索引的顺序,注意数据分散:
1 | SELECT COUNT(DISTINCT staff_id)/COUNT(*) AS staff_id_selectivity, |
对于 BLOB、TEXT 和 VARCHAR 类型的列,必须使用前缀索引
https://juejin.im/post/6844904200254521351
应用
1.多使用Explain看SQL执行计划,核心目的,减少返回数量。
2.切分大查询
3.如非必要,不要使用外键(性能要求不高,业务要求严谨可以考虑)
外键等于把数据的一致性事务实现,全部交给数据库服务器完成
增,删,改影响性能,加大锁表概率,或者死锁char(n)
gbk 2
utf8 3
utf8mb4 4Emoji表情使用utf8mb4