索引

无论在工作中,还是在面试当中,数据库优化是一个避不开的技术点,关于数据库的优化,有如下几点:

(1)优化表结构,对常用的字段和非常用的字段分开存储;

(2)优化SQL,合理使用索引;

(3)做数据库读写分离,减少IO压力,由于数据库对记录做了持久化至磁盘,对磁盘的IO是非常消耗性能的;

(4)使用缓存技术,不让所有的数据请求都打到数据库上;

(5)对业务做垂直拆分,减少耦合度;

(6)对标做水平拆分,这一步是比较复杂,要注意主键生成原则和请求路由规则。

索引使用优点和注意点

一般可以通过Explain查询检索的Rows的记录量来衡量查询速度;

但是把索引建立在有大量重复数据的字段上,并不能有效地提升SQL效率;

发现没有用到索引,这是对索引列使用like的限制,要对索引列使用like,通配符只能在结尾,开头不可以有任何的通配符;

在索引列上使用MySQL函数也会导致索引失效

(1)使用LIKE关键字的查询语句

在使用LIKE关键字进行查询的查询语句中,如果匹配字符串的第一个字符为"%",索引不会起作用,只有"%"不在第一个位置,索引才会起作用

(2)使用多列索引的查询语句

MySQL可以为多个字段创建索引,一个索引可以包含16个字段,对于多列索引,只有查询条件中使用了这些字段中第一个字段时,索引才会被使用

(3)使用OR关键字的查询语句

查询语句的查询条件中只有OR关键字,且OR前后两个条件都是索引时,查询才会使用索引,否则,查询将不使用索引

mysql 索引优化 2_MySQL2索引优化相关推荐

  1. MySQL 性能优化,索引和查询优化

    https://my.oschina.net/qrmc/blog/1822373 要知道为什么使用索引,要知道如何去使用好索引,使自己的查询达到最优性能,需要先了解索引的数据结构和磁盘的存取原理 1. ...

  2. mysql索引优化规则_Mysql优化选择最佳索引规则

    索引的目的在于提高查询效率,其功能可类比字典,通过该索引可以查询到我们想要查询的信息,因此,选择建立好的索引十分重要,以下是为Mysql优化选择最佳索引的方法步骤: 1. 首先列出查询中所有使用的表, ...

  3. psql where里有自定义函数慢_阿里P8架构师谈:MySQL慢查询优化、索引优化、以及表等优化总结...

    MySQL优化概述 MySQL数据库常见的两个瓶颈是:CPU和I/O的瓶颈. CPU在饱和的时候一般发生在数据装入内存或从磁盘上读取数据时候. 磁盘I/O瓶颈发生在装入数据远大于内存容量的时候,如果应 ...

  4. mysql 大量数据 更改索引_Mysql索引数据结构详解与索引优化

    本篇文章主要学习了MySQL的索引的数据结构的认识,做一个大概的了解即可. 一.索引 在关系数据库中,索引是一种单独的.物理的对数据库表中一列或多列的值进行排序的一种存储数据结构,它是某个表中一列或若 ...

  5. mysql的索引优化_MySQL索引优化与分析(重要)

    建表SQL CREATE TABLE staffs ( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR (24) NULL DEFAULT '' COM ...

  6. 大于小于优化_以MySQL为例,详解数据库索引原理及深度优化

    本文内容主要来源于互联网上主流文章,只是按照个人理解稍作整合,后面附有参考链接. 一.摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特别需要说明的是,MySQL支持诸多存储引 ...

  7. mysql索引分析_MySQL索引分析和优化

    什么是索引? 索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存.如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录.表里面 ...

  8. mysql索引的使用和优化

    参考: http://blog.csdn.net/xluren/article/details/32746183 http://www.cnblogs.com/hustcat/archive/2009 ...

  9. 阿里P7架构师谈:MySQL慢查询优化、索引优化、以及表等优化总结

    MySQL优化概述 MySQL数据库常见的两个瓶颈是:CPU和I/O的瓶颈. CPU在饱和的时候一般发生在数据装入内存或从磁盘上读取数据时候. 磁盘I/O瓶颈发生在装入数据远大于内存容量的时候,如果应 ...

最新文章

  1. git中查看和设置 用户名、密码
  2. Javascript面向对象编程(二):构造函数的继承
  3. CSU 1785: 又一道简单题
  4. RandomAccessFile类解析
  5. [css] 请写出:link、:visited、:hover、:active的执行顺序
  6. 转 OFBIZ webservice简介
  7. java 陷阱,java 中的陷阱。
  8. ArcGIS Enterprise 10.5.1 静默安装部署记录(Centos 7.2 minimal)- 2、安装WebAdapter
  9. 2020年海南大学计算机调剂,2020年海南大学招收调剂生
  10. ios点击推送闪退_苹果应用闪退是什么原因?如何解决进行ios签名后的苹果应用闪退问题?...
  11. python以读写方式打开文件_python 文件读写with open模式r,r+,w,w+,a,a+的区别
  12. Linux下如何查看高CPU占用率线程 专题
  13. iOS马甲包预审分析工具
  14. 2022-2028全球昼夜节律性睡眠障碍行业调研及趋势分析报告
  15. draco3D轻量化技术在Unity3D中应用
  16. Paraphrasing effectively 有效转述你需要了解这些内容~
  17. 刚刚,微信官宣 1000W+ 跨年红包开发,速度搞!
  18. 如何在文本中添加多条线
  19. 【邻接图】解决图的模板
  20. C++实现暴力筛、朴素素数筛、埃氏素数筛、欧拉素数筛的解法

热门文章

  1. c# 从一个大图里截取图形
  2. IOS开发基础之截图、图片文字水印
  3. eureka自我保护时间_SpringCloud Eureka自我保护机制
  4. 从服务器检索时出错dfdferh01_大数据实战项目之海量人脸特征检索解决方案演进...
  5. esp8266手机端app_OKEX手机端APP提币教程(附视频)
  6. python中的数组是什么_Python中的数组
  7. cnpm 网络不能连接_(二十七)通俗易懂理解——Resnet残差网络
  8. android expandablelist 自动滚动,在ExpandableListView中,如何保留滚动位置_android_开发99编程知识库...
  9. mysql中使用like模糊查询时如何转义%
  10. 史上最完整的iOS DIY framework 详细教程(一)