数据库的语句应该如何优化

技术数据库的语句应该如何优化这篇文章主要介绍了数据库的语句应该如何优化,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。  在MySQL数据库怎么加快查询速度

本文主要介绍如何优化数据库的语句,具有一定的参考价值。有兴趣的朋友可以参考一下。希望大家看完这篇文章后收获多多。让边肖带你去了解一下。

MySQL数据库中如何加快查询速度,优化查询效率的主要原则是尽量避免扫描整个表,考虑对where和orderby中涉及的列建立索引。

建立索引不是建的越多越好,原则是:

第一:表里的索引不是越多越好

表中的索引越多越好,没有具体的数字。根据以往的经验,一个表中索引的最大数量不能超过6个,因为索引越多,更新和插入操作的性能也会受到影响,涉及到索引的新建和重建操作。

第二:建立索引的方法论为:

大多数查询经常使用的列;

很少修改的列;

索引需要建立在数据差异较大的列上。

在上述基础上,我们讨论如何优化sql。

00-1010首先读一个这样的语句:select * from musers where reaea=' Beijing ' and age=22;

如果我们分别在区域和年龄上创建索引,mysql查询一次只能使用一个索引,所以虽然这比没有索引的全表扫描提高了很多效率,但是如果我们在区域和年龄列上创建复合索引,会带来更高的效率。

当使用索引字段作为条件时,如果索引是复合索引,则必须使用索引中的第一个字段作为条件,以确保系统使用该索引;否则将不使用索引,字段顺序应尽可能与索引顺序一致。

例如,如果我们创建这样一个索引(面积、年龄、工资),就相当于创建了三个索引(面积、年龄、工资)、(面积、年龄)和(面积),称为最佳左前缀特征。

复合索引(形如(x,y,uid)索引的索引)

a.ORDERBY+LIMIT组合的索引优化

如果SQL语句的形式为:选择[列1],[列2],从[表]按[排序]限制[偏移量],[限制]排序;

这个SQL语句优化起来相对简单,可以在字段[sort]上创建索引。

b.WHERE+ORDERBY+LIMIT组合的索引优化

如果一条SQL语句看起来像:选择[列1],[列2],from [table],其中[columnx]=[value]按[排序]限制[偏移量],[限制]排序;

在此语句中,如果仍然使用第一个示例中的索引方法,虽然可以使用索引,但效率不高。更有效的方法是创建一个联合索引(columnX,sort)。

c.WHERE+ORDERBY多个栏位+LIMIT

如果一条SQL语句看起来像:从[table]中选择*其中uid=1orderx,ylimit,10;

对于这个语句,您可以添加这样一个索引:(x,y,uid)。其实效果更好的是(uid,x,y)。这是MySQL的排序机制造成的。

感谢您仔细阅读本文。希望边肖分享的文章《如何优化数据库中的句子》对大家有所帮助。同时也希望大家对行业信息渠道给予更多的支持和关注,更多的相关知识等着大家去学习!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/50260.html

(0)

相关推荐

  • 怎么解决Mysql中的Last_Errno报错问题

    技术怎么解决Mysql中的Last_Errno报错问题本篇内容主要讲解“怎么解决Mysql中的Last_Errno报错问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么解

    攻略 2021年11月18日
  • 犬字旁的字有哪些字,带"犭"偏旁的字大多与什么有关

    技术犬字旁的字有哪些字,带"犭"偏旁的字大多与什么有关带“犭”偏旁的字大多与动物有关犬字旁的字有哪些字,如:猫、狗、猪。一、猫:māo máo 1.释义:[ māo ] (1)哺乳动物,面呈圆形,脚有利爪,行动敏捷

    生活 2021年10月21日
  • 线性回归理解和应用例子

    技术线性回归理解和应用例子 线性回归理解和应用例子HaHa,没错又是作业...
    理解:
    线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。
    这句话里的“相

    礼包 2021年11月22日
  • ad pads allegro哪个好学(halcyon ad blocker)

    技术如何进行GoAead RCE预警分析如何进行GoAead RCE预警分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。0x00 背景介绍12月12日,M

    攻略 2021年12月20日
  • C++设备模板怎么声明和定义

    技术C++设备模板怎么声明和定义这篇文章主要讲解了“C++设备模板怎么声明和定义”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++设备模板怎么声明和定义”吧!将片上外设

    攻略 2021年11月30日
  • 国有商业银行有哪几家,九大商业银行是几个银行

    技术国有商业银行有哪几家,九大商业银行是几个银行商业银行包括: 四大国有银行:工商银行,农业银行,中国银行,建设银行; 其他股份制商业银行:交通银行,民生银行,浦东发展银行,福建兴业银行,广东发展银行,光大银行,招商银行

    生活 2021年10月29日