zoukankan      html  css  js  c++  java
  • 数据库优化思路

    1.SQL语句优化

        (1)应尽量避免在where 子句中使用!=或者<>操作符,否则将引擎放弃使用索引进而进行权标扫描。

        (2)应尽量避免咋where 子句中对字段进行null值的判断,否则将导致引擎放弃使用索引而进行全表的扫描。

                可以在num上设置默认值为0确保num中没有null值。

        (3)用exits代替in。

                 IN表示范围,指某一字段在某一范围之内,这个范围一般使用子查询来获取,由此可知IN子查询返回的结果应该就是这个范围集。 

                 EXISTS表示存在,指至少存在一处,这个条件由EXISTS子查询来完成,但是在这里EXISTS子查询返回的结果却不再是一个结果集而 是  一  个布尔值(true或false,其实这个挺好理解的,EXISTS就表示如果子查询能查到值则返回true,则执行EXISTS之前的语 句。

    2. 索引优化

        索引类型:

        一 . (UNIQUE)唯一索引,不可以出现相同的值,可以有 NULL值。

        二 .  (INDEX)普通索引 ,允许出现相同的索引内容。

        三. (PRIMARY KEY) 主键索引,不允许出现相同的值,且不能为NULL值,一个表只能有一个primary_key索引

        四. (fulltext index)全文索引,述三种索引都是针对列的值发挥作用,但全文索引,可以针对值中的某个单词,比如一篇文章中的某个词,然而并没有什么卵用,因为只有myisam以及英文支持,并且效率让人不敢恭维,但是可以用coreseek和xunsearch等第三方应用来完成这个需求。

    3.数据库结构优化。

     (1)范式优化: 比如消除冗余(节省空间。。)

       ( 2)反范式优化:比如适当加冗余等(减少join)

       (3)拆分表: 分区将数据在物理上分隔开,不同分区的数据可以制定保存在处于不同磁盘上的数据文件里。

        (4)拆分又分垂直拆分和水平拆分

    4.选择合适的数据类型。

    5.服务器应坚决优化。

     

  • 相关阅读:
    springboot添加邮件发送及压缩功能
    springboot添加多数据源连接池并配置Mybatis
    SpringMVC+Mybatis初尝试
    个人课程总结
    第十六周学习总结
    第十五周学习总结
    第二阶段冲刺九
    第二阶段冲刺八
    第二阶段冲刺七
    搜狗拼音输入法使用评价
  • 原文地址:https://www.cnblogs.com/xiaozhaung/p/10871576.html
Copyright © 2011-2022 走看看