浅谈sql优化


title: 浅谈sql优化
date: 2019-04-08 21:25:43
tags:

  数据库查询效率的快慢是评价一个数据库设计好坏的直接判定依据,一个设计良好的数据库系统,受到多方面的因素影响,例如硬件配置、网络状况等。对于程序设计人员,提高数据库查询效率最有效的最简单的方式便是优化

sql语句;

  造成数据库查询缓慢的常见原因:

    1.查询数据的数据量庞大;

    2.数据库设计不合理;

    3.sql语句书写不佳;

    4.硬件性能、网络状况;

    …

  正是由于上述存在的问题,优化数据库应该从数据库设计、sql语句书写入手,从源头进行优化,尽量避免进行全表扫描,正确合理的使用索引,本系列文章将和大家共同探讨sql的优化;

一.了解数据库表

 1.巧用explain:explain命令可以查看sql的执行计划,执行状态,例如是否使用索引,是否全表查询,也可以使用explain查看数据表的设计详情;


 2.在select前加上explain命令可以显示数据库执行的具体情况


二.巧用索引

  要想让一个查询语句执行效率更快。首要的,需要考虑能否添加索引。索引是一个特殊的文件,包含着对数据库表中所有记录的指针,它是对数据库表中一列或者多列的值进行排序的一种结构。

  索引好比是图书馆里,每一本书上的编号,借阅者可以通过图书馆的馆藏搜索系统,快速的查找到对应的书籍的所在位置,大大减少了寻找的时间,提供搜索效率;

  索引的优点:

    1.通过添加唯一索引,可以保证数据唯一性;

    2.可以大大提高数据的检索速度;

    3.可以加速表和表之间的连接;

  索引大体可以分为:普通索引、唯一索引、主键索引、全文索引

普通索引分为单列索引和多列索引:
1.单列索引:一个索引只包含单个列,但是一个表中可以包含多个单列索引;
2.多列索引:一个索引包含多个索引;
创建普通索引:
- create index 索引名 on 表名(列名)
- alter table 表名 add unique index 索引名(列名)
- create table 表名 (
        列名 数据类型 约束,
        unique index 索引名(列名)
    )
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值