当前位置:首页 > 日记 > 正文

优化技能分享

优化技能分享
有一天发现一个SQL内连接不是很慢(0.1-0.2),但它并没有达到理想的速度。两表关联,以及与之相关的字段是主键,和查询的字段是唯一指标。

SQL如下:
选择
p_item_token *,
p_item.product_type

p_item_token
内部联接p_item.itemid = p_item_token.itemid p_item
哪里
p_item_token.token = 'db87a780427d4d02ba2bd49fac8xxx;
表p_item_token,对应是主键,和令牌是唯一的指标。Itemid在p_item主键

按照理想的速度,这应该是正常的在0.03s.but现实是0.2左右,慢了很多。

直接说明看计划
解释
选择
p_item_token *,
p_item.product_type

p_item_token
内部联接p_item.itemid = p_item_token.itemid p_item
哪里
p_item_token.token = 'db87a780427d4d02ba2bd49fac8xxx;
结果uff1a
看上面的红色框,p_item表2W的数据,这是全表扫描。

这不正常。

添加一个显示警告。注意:在某些情况下,显示警告将没有结果。我不知道为什么。建议使用本地测试数据库运行。
解释
选择
p_item_token *,
p_item.product_type

p_item_token
内部联接p_item.itemid = p_item_token.itemid p_item
哪里
p_item_token.token = 'db87a780427d4d02ba2bd49fac8xxx;
显示警告;
结果2显示在代码= 1003后面有一个SQL语句..这个语句是MySQL在我们重写规则后的SQL语句中执行的最后语句。
选择# 1 / * * /
选择
0000eb612d78407a91a9b3854ffffffff'as ` ITEMID ` / *注:根据直接查看主键值。
db87a780427d4d02ba2bd49fac8cf98b'as `令牌`,
2016-12-16 10:46:53'as ` create_time `,
` ftoken `,
` p_db `。` p_item `。` product_type `作为` product_type `

` p_db ` ` p_item_token `。
加入` p_db ` ` p_item `。
哪里


(CONVERT
` p_db `。` p_item `。` ITEMID `使用utf8mb4
= = '0000eb612d78407a91a9b3854fffffff


真奇怪,怎么会有皈依者呢我们知道,如果方程的左边的位置,也就是说,在字段上有一个函数要查询,它会导致慢。(我的理解是:因为索引不被使用而变慢。索引的值是原始值,它是在处理后的值中使用的)。

看看这个功能,这意味着转换成列的对应utf8mb4编码。那就是,此栏不utf8mb4!

打开表和改变在两个表的对应列为UTF8编码。再次运行说明。
解释结果没有问题。

再看一下结果2中的语句:
选择# 1 / * * /
选择
0000eb612d78407a91a9b3854fffffff'as ` ITEMID `,
db87a780427d4d02ba2bd49fac8cf98b'as `令牌`,
2016-12-16 10:46:53'as ` create_time `,
` ftoken `,
cxx'as ` product_type `

` toy_item_plat ` ` p_item_token `。
加入` toy_item_plat ` ` p_item `。
哪里

这个选项都是常量,速度可以快吗

执行的结果0.036s.conforming预期

经验总结:

解释可以看出执行计划是否符合预期,如果有较大的行情况,它显示了一个完整的表扫描,这将是未来的性能瓶颈。

由于显示警告,您可以在优化器处理该语句后看到该语句。如果与原始语句有差异,仔细的对比研究可以发现实际问题。

相关文章

PS图象处理软件图层样式制作好网页

PS图象处理软件图层样式制作好网页

网页,图层,图象,处理软件,样式,这是PS图象处理软件的一个按钮制作教程。在本教程中,我们将向您展示如何使用PS图象处理软件的图层样式功能创建三维效果按钮透明水晶。让我们一起做吧。 先看看效果吧。 1,新建文件,大小自,背景白,新建一层,画黑圆…

PS是如何产生3D岩石效果的字体和字

PS是如何产生3D岩石效果的字体和字

字符,字体,3D,效果,岩石,我们经常会看到一些很酷的海报或广告字体,这些字体由PS例如非常方便,,今天我们岩石三维效果的字体,让萧边告诉你如何让PS字体岩石三维效果,一起学习。 用ps制作三维岩石效果字体的方法 首先,我们需要的工具是数字板,当然…

重启MySQL在CentOS的各种方法(推荐)

重启MySQL在CentOS的各种方法(推荐)

方法,推荐,重启,电脑软件,CentOS,1。通过RPM包安装mysql 重新启动mysql服务 / / inint等。D / mysqld启动 2。从源包安装的MySQL 关闭mysql命令 mysql_dir美元/桶/ mysqladmin -中- P关机 启动mysql命令 mysql_dir美元/桶/ mysqld_safe 在…

centos6.5mysql5.7.14

centos6.5mysql5.7.14

电脑软件,centos6.5 MySQL 5.7.14 / 0 mysql5.7.14。 CMake - dcmake_install_prefix = /数据/ db5714 - dmysql_datadir = / / /无功数据db5714 - dmysql_unix_addr = / / /数据db5714 TMP /到 - ddefault_charset = utf8 - dde…

在jQuery的map()和每个()方法上

在jQuery的map()和每个()方法上

方法,电脑软件,jQuery,map,1。映射()方法 查找标题的所有元素,将它们的ID映射到排序后的数组中。 $(:头)。图(函数(){ return这个ID })。ToArray()Sort(); 2。每个()方法 $('div)。每个(函数(){) 如果($(这个)是(隐藏的)返回);跳过隐藏元素 操作视觉元素 }); 上面提到的jQ…

jQuery检查页面上某个元素是否有实

jQuery检查页面上某个元素是否有实

元素,实例代码,检查,页面,电脑软件,最近,一个项目有这样的功能。如果jQuery是用来检查网页上是否存在某个元素,它可以帮助阅读文章的读者。 要检查使用jQuery的Web页面上是否存在某个元素,应该根据元素的长度来判断它,代码如下所示: 如果($(# TT)…

如何查看PPT幻灯片母版如何查看PPT

如何查看PPT幻灯片母版如何查看PPT

教程,幻灯片,母版,电脑软件,PPT,幻灯片母版是存储模板信息的设计模板的元素。母版页上的文本只用于样式。那么我们如何检查PPT幻灯片的主栏呢让我们告诉你如何查看PPT幻灯片大师。 查看PPT幻灯片大师的方法 1,幻灯片的父版本 主幻灯片是…

Javascript首次使用正则测试()是true,第二次

Javascript首次使用正则测试()是true,第二次

正则,首次,测试,电脑软件,Javascript,1。前言 今天,我的朋友问了我一个问题。现在我需要多次匹配相同的内容,但是为什么我第一次匹配true,而第二个匹配是错误的呢 VaR S1 =MRLP ; VaR S2 =MRLP ; VaR reg = / / IG MRLP; console.log(reg.test(S1)); …

MySQL可以有一个类似于Oracle函数N

MySQL可以有一个类似于Oracle函数N

函数,类似于,有一个,电脑软件,MySQL,使用ifnull,不空 Isnull是判断是否为空,返回值为1表示零或0不空 ifnull相当于甲骨文的NVL,使用如下 MySQL >选择ifnull(1,10); -------------- + + | ifnull(1,10)| -------------- + + 1 | | ---------…

梅赛德斯奔驰概念跑车绘制过程分解

梅赛德斯奔驰概念跑车绘制过程分解

绘制,解图,梅赛德斯奔驰,跑车,过程,今天,我们分享奔驰跑车概念图的流程分解图,教程很不错,值得学习,推荐给大家,看看! 本教程结束,以上是奔驰跑车概念图的流程分解图,操作非常简单,希望对您有所帮助!…

利用PS图象处理软件在细节纹理的U

利用PS图象处理软件在细节纹理的U

纹理,图象,处理软件,细节,电脑软件,这个例子介绍了用ps在空中画一个浮动的U盘。本教程使用的详细步骤说明U盘和光与影的表面纹理的制作过程。注重U盘的实例在地板上的投影,和PSDTUTS的话很容易做,但这些小细节会让你更真实的东西。 在本教程…

与PS图象处理软件的字体光冷

与PS图象处理软件的字体光冷

字体,图象,处理软件,电脑软件,PS,今天萧边分享光的生产方法与PS图象处理软件酷字体的教程,非常好,值得学习,好吧,让我们来看看! 步 首先,我们用鼠标左键双击桌面上的快捷按钮打开PS图象处理软件和PS图象处理软件,如图中所示的界面。 然后,我们需…