• SQL优化


    1、建立适当的索引。sql在索引字段不要加函数,保证索引起效。如果是复合索引注意在sql的顺序。如果已经存在索引,建议你先重建索引先,因为大数据表的索引维护到了一个阶段就是乱的,一般建议重建。建立好的一般可以获得几十倍的速度提升。
    2、最大数据量的表放在最前,最小的表放在最后面。sql是从最后面开始反向解析的。
    3、其次是要把最有效缩小范围的条件放到sql末尾去。尤其是主键或者索引字段的条件。
    4、保证你sql的算法合理性。保证复杂度和空间度的合理性。
    5、必要时候使用存储过程。提升30%-40%的速度
    6、建议你分页读取不要一下读完所有的数据。(使用rownum),一下子数据太多会使得内存不够用的。

    _____________________________________________________________
    1,SELECT子句中避免使用 ‘ * ‘
    2,为搜索字段建立索引
    3,永远为每张表设置一个ID
    4,尽可能的使用NOT NULL
    5,当只要一行数据时使用LIMIT 1
    6,用TRUNCATE替代DELETE:
    7,用Where子句替换HAVING子句,
    避免使用HAVING子句


    索引:
    增加索引:
                CREATE INDEX可对表增加普通索引或UNIQUE索引以及全文索引,但是不可以对表增加主键索引
                CREATE INDEX index_name ON table_name (column_list);
                CREATE UNIQUE index_name ON table_name (column_list);
                CREATE FULLTEXT index_name ON table_name (column_list);
                 table_name、index_name和column_list具有与ALTER TABLE语句中相同的含义,索引名必须指定。
                 另外,不能用CREATE INDEX语句创建PRIMARY KEY索引。
     
     
       索引类型:
     
       普通索引INDEX:    适用于name、email等一般属性
    唯一索引UNIQUE:   与普通索引类似,不同的是唯一索引要求索引字段值在表中是唯一的,这一点和主键索引类似,但是不同的是,唯一索引允许有空值。唯一索引一般适用于身份证号码、用户账号等不允许有重复的属性字段上。
                  主键索引:   其实就是主键,一般在建表时就指定了,不需要额外添加。
                  全文检索:   只适用于VARCHAR和Text类型的字段。
       注意:全文索引和普通索引是有很大区别的,如果建立的是普通索引,一般会使用like进行模糊查询,只会对查询内容前一部分有效,即只对前面不使用通配符的查询有效,如果前后都有通配符,普通索引将不会起作用。


  • 相关阅读:
    Java程序员之JS(一) 入门
    Java虚拟机(一)之开篇
    JDK/JRE/JVM区别与联系
    web开发视频(一)之环境准备
    Spring MVC 教程,快速入门,深入分析
    Java中“==和equals”的区别
    如何查看电脑最大支持多少GB内存
    win10 计算器calc命令打不开
    Win10图标显示不正常解决办法
    在系统右键菜单上添加程序
  • 原文地址:https://www.cnblogs.com/hero123/p/9299981.html
Copyright © 2020-2023  润新知