mysql优化的一些建议

快来打我* 2022-05-29 00:24 396阅读 0赞

1.为查询缓存优化查询

当很多相同的查询语句被执行了多次的时候,这些查询结果会被放到一个缓存中

2.善用EXPLAIN

3.若已确定只查询一条数据,加上LIMIT 1

特定场景 查找是否存在 SELECT 1

4.建索引

5.join的字段

应建索引,且最好是相同的类型

6.千万不要 ORDER BY RAND()

7.避免SELECT *

8.永远为每张表设置一个id

9.尽量使用ENUM而不是VARCHAR

10.从PROCEDURE ANALYSE() 获取建议

11.尽可能地使用NOT NULL

注意 a.不要以为NULL不需要空间

  1. b注意.EMPTYNULL的区别

12.Prepared Statements

13.无缓冲的查询

14.把IP地址存成INT

  1. php long2ip ip2long

15.固定长度的表会更快

  1. 如果表中的所有字段都是固定长度的,整个表会被认为是static或者fiexd-length
  2. 例如表中没有如下字段
  3. VARCHAR TEXT BLOB

性能提升:搜索得会快一些,因为是固定长度的,下一条数据的偏移量比较好计算,否则需要找到主键

并且更容易缓存和重建

副作用:会浪费一些空间

16.垂直分割

  1. 更新会导致查询缓存被清空
  2. 不要经常性地去join

17.拆分大的DELETE或INSERT

18.越小的列会越快

19.选择正确的存储引擎

innoDB 和 MyISAM

MyISAM适合一些需要大量查询的应用

innoDB写操作比较多的时候会更优秀

20.使用一个对象关系映射器

  1. Object Relational Mpper
  2. Lazy Loading
  3. DRM Doctrine

21.小心永久连接

发表评论

表情:
评论列表 (有 0 条评论,396人围观)

还没有评论,来说两句吧...

相关阅读

    相关 MySQL优化建议

    1、检查sql是否可以优化 避免使用子查询,使用join代替 减少排序 优化索引 增加查询 条件 减少返回的数据量 避免使用较大值的limit offs

    相关 优化MySQL21个建议

    1. 要确保有足够的内存 数据库能够高效的运行,最关建的因素需要内存足更大了,能缓存住数据,更新也可以在内存先完成。但不同的业务对内存需要强度不一样,一推荐内存要占到数据

    相关 mysql优化一些建议

    1.为查询缓存优化查询 当很多相同的查询语句被执行了多次的时候,这些查询结果会被放到一个缓存中 2.善用EXPLAIN 3.若已确定只查询一条数据,加上LIMIT