目录

1. 数据库优化漏斗法则 1

2. 常见优化手段 2

2.1. 索引 2

2.2. 分页  只返回需要的字段 2

2.3. 批处理 2

2.4. 其他  sp 多线程等 2

3. 索引类型  normal (btree hash),unique唯一,fulltext全文索引 2

3.1. 索引生效原理 EXPLAIN  查看索引 3

3.2. 强制索引 3

  1. 数据库优化漏斗法则
  1. 常见优化手段

    1. 索引
    2.  分页  只返回需要的字段
    3. 批处理  
    4. 其他  sp 多线程等

存储过程

大量复杂运算在客户端处理

多线程

  1. 索引类型  normal (btree hash),unique唯一,fulltext全文索引
  1. 索引生效原理 EXPLAIN  查看索引

EXPLAIN SELECT

*

FROM

user_tab  force index(aa_name_age_index)

WHERE

name='user2'  and age=18

  1. 强制索引

SELECT

*

FROM

user_tab  force index(aa_name_age_index)

WHERE

name='user2'  and age=18

  1. MySQL使用全文索引(fulltext index)
  2. 1.创建全文索引(FullText index)

旧版的MySQL的全文索引只能用在MyISAM表格的char、varchar和text的字段上。

不过新版的MySQL5.6.24上InnoDB引擎也加入了全文索引,所以具体信息要随时关注官网,

  1. 3.使用全文索引

跟普通索引稍有不同

使用全文索引的格式:  MATCH (columnName) AGAINST ('string')

eg:

SELECT * FROM `student` WHERE MATCH(`name`) AGAINST('聪')

当查询多列数据时:

建议在此多列数据上创建一个联合的全文索引,否则使用不了索引的。

SELECT * FROM `student` WHERE MATCH(`name`,`address`) AGAINST('聪 广东')

  1.      3.1. 使用全文索引需要注意的是:(基本单位是)

分词,全文索引以词为基础的,MySQL默认的分词是所有非字母和数字的特殊符号都是分词符

3.2. MySQL中与全文索引相关的几个变量:

使用命令:mysql> SHOW VARIABLES LIKE 'ft%'; #ft就是FullText的简写

ft_boolean_syntax    + -><()~*:""&|         #改变IN BOOLEAN MODE的查询字符,不用重新启动MySQL也不用重建索引
             ft_min_word_len    4                                   #最短的索引字符串,默认值为4,(通常改为1)修改后必须重建索引文件

重新建立索引命令:repair table tablename quick 

ft_max_word_len    84                                #最长的索引字符串,默认值为84,修改后必须重建索引文件

ft_query_expansion_limit   20                      #查询括展时取最相关的几个值用作二次查询

ft_stopword_file    (built-in)                      #全文索引的过滤词文件,具体可以参考:MySQL全文检索中不进行全文索引默认过滤词

特别注意:50%的门坎限制(当查询结果很多,几乎所有记录都有,或者极少的数据,都有可能会返回非所期望的结果)

-->可用IN BOOLEAN MODE即可以避开50%的限制。

此时使用全文索引的格式就变成了: SELECT * FROM `student` WHERE MATCH(`name`) AGAINST('聪' IN BOOLEAN MODE)

MySQL使用全文索引(fulltext index) - 一菲聪天 - 博客园.html

目录 1. 数据库优化漏斗法则 1 2. 常见优化手段 2 2.1. 索引 2 2.2. 分页 只返回需要的字段 2 2.3. 批处理 2 2.4. 其他 sp 多线程等 2 3. 索引类型 n相关推荐

  1. SQL性能优化技巧,常见优化10经验,数据库查询好慢,还能怎么办

    我熟练应用ctrl c和ctrl v 开发curd代码好多年了. mysql查询为什么会慢,关于这个问题,在实际开发经常会遇到,而面试中,也是个高频题. 遇到这种问题,我们一般也会想到是因为索引. 那 ...

  2. MySQL性能优化-根据执行计划进行性能优化

    2019独角兽企业重金招聘Python工程师标准>>> 1. 使用执行计划explain命令分析 在要运行的sql前面加上explain就可以得到执行计划如下表: 在explain后 ...

  3. php7.0 java 性能,php7代码性能常见优化技巧

    目录概述 php7代码性能常见优化技巧 参考文档 概述 这是关于php进阶到架构之php7性能优化学习的第一篇文章:php代码性能常见优化技巧.第一篇:php代码性能常见优化技巧 php7代码性能常见 ...

  4. oracle的优化适用于mysql吗_性能优化之数据库优化,适用于Sqlite、Mysql、Oracle、Sql server,详细介绍了索引和事务及部分针对Sqlite的优化...

    本文为性能优化的第一篇--数据库性能优化,原理适用于大部分数据库包括Sqlite.Mysql.Oracle.Sql server,详细介绍了索引(优缺点.分类.场景.规则)和事务,最后介绍了部分单独针 ...

  5. 数据库索引的创建以及常见优化

     如何使用数据库索引 使用索引可快速访问数据库表中的特定信息.索引是对数据库表中一列或多列的值进行排序的一种结构.索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容. 什么是索引 数据 ...

  6. MySQL优化系列(二)--查找优化(1)(非索引设计)

    MySQL优化系列(二)--查找优化(1)(非索引设计) 接下来这篇是查询优化,用户80%的操作基本都在查询,我们有什么理由不去优化他呢??所以这篇博客将会讲解大量的查询优化(索引以及库表结构优化等高 ...

  7. 数据库单表千万行 LIKE 搜索优化手记

    我们经常在数据库中使用 LIKE 操作符来完成对数据的模糊搜索,LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式. 如果需要查找客户表中所有姓氏是"张"的数据,可以使用 ...

  8. mysql性能优化较佳实践_MySQL性能优化的21个最佳实践 和 mysql使用索引

    今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我 们程序员需要去关注的事情.当我们去设计数据库表结构,对操作数 ...

  9. python mongodb查询速度优化_Mongodb 3 查询优化(语句优化、建索引)

    一.explain(),语句分析工具 MongoDB 3.0之后,explain的返回与使用方法与之前版本有了很大的变化,介于3.0之后的优秀特色和我们目前所使用给的是3.0.7版本,本文仅针对Mon ...

  10. mysql minus_10.24程序员节,喜得一套「MySQL性能优化金字塔法则」

    明天就是10.24程序员节了,这么重大的节日怎么能少得了我来凑热闹呢!这不,最近都在研究MySQL性能优化,偶得朋友相赠一套[MySQL性能优化金字塔法则],简直就是深得我心呐~于是乎,就成就了咱今天 ...

最新文章

  1. 3ds Max中的V-Ray学习
  2. 微软687亿美元收购动视暴雪成第三大游戏公司,网友:米哈游只有收购索尼才能抗衡了...
  3. 怎样开始学习ERP?
  4. bulk Java提交数据,性能优化 – bulk提交 - ELK Stack 中文指南
  5. linux内核死锁检测机制 | oenhan,Linux内核CPU负载均衡机制 | OenHan
  6. Mac OS X 遭遇并抵御 ARP 攻击
  7. Leetcode每日一题:29.divide-two-integers(两数相除)
  8. 移动时代软件测试团队该往哪里去?
  9. 高性能加速深度学习算法
  10. windows phone (24) Canvas元素A
  11. [翻译]A MAP BASED ON LASERSCANS WITHOUT GEOMETRIC INTERPRETATION
  12. OSMDroid —— 开源的 Android 地图开发库
  13. 谷歌金山词霸/搜狗、QQ、google输入法模式分析及展望
  14. EXCEL实战技巧与数据分析(二)数据透视表
  15. 微软Kinect完全拆解
  16. sis最新ip地址2020入口一_【新版教材】2020最新人教版高中生物教材必修一电子课本...
  17. TCP的三次握手与四次挥手理解
  18. 数据库设计2021-09-15
  19. 必须得会的汽车ECU研发基础--ECU软件架构概览3
  20. Dynamics Ax 微软官方社区地址

热门文章

  1. jfreechart折线图y轴刻度值_Python matplotlib绘制折线图
  2. c++ 按行读取txt文件并赋值_C 语言入门 19 读取txt文件中的数字,消除其中连续重复的数字...
  3. mysql primary重复_mysql:键'PRIMARY'和奇怪的ID行为重复条目'0'
  4. gcc和g++的区别 (很详细的描述)
  5. Algs4-2.4.5给出以下字母顺序插入大堆的结果
  6. Wings与parasoft c++ test在单元测试用例自动生成能力的比对
  7. Java NIO之DatagramChannel
  8. mssql 获取2个时间之间相距的时分秒(取余数得秒)
  9. 缅怀三年——炫丽的新加坡(下)
  10. 10分钟带你光速入门运维工具之-Puppet