• mysql常见的优化方法


    1.选取适当的字段属性。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6)就可以很好的完成任务了。或者使用MEDIUMINT来定义整型字段。

    2.应该尽量把字段设置为NOTNULL。

    3.使用连接(JOIN)来代替子查询

    4.事务处理

    5、锁定表

    6、使用外键

    7、使用索引

    该对哪些字段建立索引呢?

    一般说来,索引应建立在那些将用于JOIN,WHERE判断和ORDERBY排序的字段上。尽量不要对数据库中某个含有大量重复的值的字段建立索引。对于一个ENUM类型的字段来说,出现大量重复值是很有可能的情况

    例如customerinfo中的“province”..字段,在这样的字段上建立索引将不会有什么帮助;相反,还有可能降低数据库的性能。我们在创建表的时候可以同时创建合适的索引,也可以使用ALTERTABLE或CREATEINDEX在以后创建索引。此外,MySQL从版本3.23.23开始支持全文索引和搜索。全文索引在MySQL中是一个FULLTEXT类型索引,但仅能用于MyISAM类型的表。对于一个大的数据库,将数据装载到一个没有FULLTEXT索引的表中,然后再使用ALTERTABLE或CREATEINDEX创建索引,将是非常快的。但如果将数据装载到一个已经有FULLTEXT索引的表中,执行过程将会非常慢。

    8、优化的查询语句

    口诀:

    全值匹配我最爱,最左前缀要遵守
    带头大哥不能死,中间兄弟不能断
    索引列上少计算,范围之后全失效
    LIKE符号写最右,覆盖索引不写星
    不等空值还有or,索引失效要少用
    var引号不能丢,SQL高级也不难
    分组之前必排序,一定要上索引啊

  • 相关阅读:
    Qt 串口通信 高速发送出错的解决方法总结
    Qt VS MFC
    从char到QChar
    QObject 的拷贝构造和赋值操作
    qt 元对象系统
    QT Embedded二三事之QObject的元对象
    QTableWidget与QTableView的区别
    arcengine,深入理解游标Cursors,实现数据的快速查找,插入,删除,更新
    利用IIdentify接口实现点选和矩形选择要素
    IWorkSpace与IWorkSpaceFactory与IWorkSpaceEdit
  • 原文地址:https://www.cnblogs.com/qichao123/p/7159824.html
Copyright © 2020-2023  润新知