• MySQL-优化建议


    ## MySQL优化建议

    1. 设计数据表的时候要遵守三范式,但是不要严格遵守。可以适度打破范式。

    2. 一个表字段不适合过多。

    3. 常用表中只要保留常用的字段

    4. 尽量给每个字段添加NOT NULL

    5. 根据表的特点来选择合适的表引擎, 如果这个表经常被写,应该选择innodb,但是MySQL5.6一般都是选择innodb

    6. 根据表存放的数据来决定字符集,一般选择utf8,但是如果想要存放emoji表情,就应该选择utf8mb4

    7. 尽量选择更加小的数据类型,但是考虑扩展性

    8. 尽量使用数字类型,时间类型。

    9. 减少使用文本类型(text)


    10. 不要使用*,尽量支查需要的字段。原因:可以减少传输数据的大小

    11. 给每条查询SQL语句添加LIMIT,原因:可以减少传输数据大小

    12. 尽量根据索引来检索数据

    13. 尽量减少在MySQL中使用内置函数,减少在MySQL中进行运算

    14. 减少多表联查,可以适度冗余字段。 也可以通过切分多表联查语句,将多表联查变成单表查询

    15. 不要在核心业务的代码中使用子查询

    16. 给经常作为where/order by/left join on/distinct字段添加索引

    17. 合理添加联合索引

     给name,pass建立联合索引
     select id,name,pass,sex from user where name='' and pass ='';

    18. 建立联合索引时,区分度大的字段放到前面

    19. or前后的字段都必须有索引

    20. 不要使用like,因为like会导致索引失效。 比如可以用全文搜索引擎会替换like,比如sphinx/xunsearch

  • 相关阅读:
    Server.MapPath()
    如何系统学习网络攻击技术
    查询数据库中有多少表、视图、存储过程
    测试种类
    linq使用Distinct()
    ASPxPivotGrid隐藏列
    Jenkins:Linux下安装部署步骤
    Jenkins:【测试设计】使用jenkins 插件Allure生成漂亮的自动化测试报告
    Python:Python 自动化测试框架 unittest 和 pytest 对比
    Jenkins:插件安装方式及插件下载地址
  • 原文地址:https://www.cnblogs.com/onlyzc/p/8417074.html
Copyright © 2020-2023  润新知