zoukankan      html  css  js  c++  java
  • 数据库优化知识总结

    1、为什么要进行数据库优化?

    1 1、可以增强数据库的可用性,提高内存使用效率,避免数据库异常现象的发生。
    2 
    3 2、当数据多到一定程度的时候,数据库性能就会开始变慢了,适当的优化提高数据库的查询和访问效率。

    2、数据库优化措施?

    1、建议不用“*”代替所有的列名
    2、删除所有的数据用TRUNCATE代替DELETE
    3、用NOT EXISTS 代替 NOT IN
    4、用EXISTS 代替 IN
    5、用EXISTS 代替 DISTINCT
    6、驱动表的选择
        6.1、from 后面靠右的那个表是驱动表(表都没索引的情况)
        6.2、再有索引的情况下,应该是没索引的那张表是驱动表
        6.3、驱动表要选择小表(过滤后的数据量小)
    7、where 子句的连接顺序
        7.1、过滤记录越多的条件子句应放置到后面
        7.2、表连接关系放在前面
        
    
    8、索引-通过索引,执行效率更高
        8.1、单列索引:就是一个列的索引
        8.2、组合索引:就是多列索引
        8.3、分区索引:基于分区表
        8.4、B树索引:普通索引
        8.5、唯一索引:在索引里面增加了唯一约束
        8.6、反向键索引
        8.7、位图索引
        8.8、函数索引
        
    
    9、表分区
        把表中数据划分成若干部分,并存储在不同的位置
    优点:
        改善查询性能
        表更容易管理
        便于备份和恢复
        提高数据安全性
    表分区种类
        散列分区:根据hash值自动分配
        列表分区:明确的指定列表
        复合分区:上面几种的复用
        其他分区:例如外键分区
        
    View Code

    sql优化链接:http://blog.csdn.net/axin66ok/article/details/7891386

  • 相关阅读:
    C++中类模板的概念和意义
    C++中模板类声明和实现能否分离?
    C/C++ 关于大小端模式,大小端字节序转换程序
    C++中的赋值操作符重载和拷贝构造函数
    C++中的友元
    C/C++内存对齐详解
    C++ 虚函数表、函数地址、内存布局解析
    虚析构函数的必要性(C++)
    C++中的抽象类和接口
    C++中的单例类模板
  • 原文地址:https://www.cnblogs.com/wiseroll/p/7085335.html
Copyright © 2011-2022 走看看