bitsCN.com
mysql参数optimizer_switch
mysql 5.1中开始引入optimizer_switch, 控制mysql优化器行为。他有一些结果集,通过on和off控制开启和关闭优化器行为。使用有效期全局和会话两个级别,在5.5中optimizer_swtich 可取结果如下,不同mysql版本可取结果不同。5.1和5.6参考官方文档。
mysql> select @@optimizer_switch;
+------------------------------------------------------------------------------------------------------------------------+
| @@optimizer_switch |
+------------------------------------------------------------------------------------------------------------------------+
| index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on |
+------------------------------------------------------------------------------------------------------------------------+
在mysql优化语句过程中,可通过设置optimizer_switch控制优化行为。
在我们生产环境上,某天mysql服务器压力特别大,load一度达到了100,查询发现数据库中有大量的sql语句state 状态result sorting ,result sorting这种排序特别消耗cpu和内存资源。抽取其中的一条sql查看执行计划
mysql> explain selectproduct_id,main_product_id,is_main_product,external_product_id from product where shop_id = '5939' AND status in ('0') AND main_product_id in ('0') AND product_type in ('0','1') order by operator_datedesc limit 800,100;
+----+-------------+----------------+-------------+---------------------------------------------+--------------------------------+---------+------+------+------------------------------------------------------------------------------+
| id | select_type |table |type |possible_keys |key | key_len | ref | rows |Extra |
+----+-------------+----------------+-------------+---------------------------------------------+--------------------------------+---------+------+------+------------------------------------------------------------------------------+
| 1 |SIMPLE | product_common |index_merge | main_product_id,shop_id,status,product_type |shop_id,main_product_id,status | 5,5,5 | NULL | 810 | Usingintersect(shop_id,main_product_id,status); Using where; Using filesort
type类型是 index_merge(索引合并排序)。业务需要或滥建索引,数据表上会建很多索引。针对这个查询,可以通过修改optimizer_switch来优化优化器行为:
set global optimizer_seitch="index_merge=off"
这个方式也行会有一定风险,影响其他sql,在服务器端操作要谨慎
另外一种方式:如果建立的索引不合理,可以建立复合索引,然后删掉这些单列索引,这样sql效率也会提高。
bitsCN.com
mysql的msi与zip版本的区别:1、zip包含的安装程序是一种主动安装,而msi包含的是被installer所用的安装文件以提交请求的方式安装;2、zip是一种数据压缩和文档存储的文件格式,msi是微软格式的安装包。

在mysql中,可以利用char()和REPLACE()函数来替换换行符;REPLACE()函数可以用新字符串替换列中的换行符,而换行符可使用“char(13)”来表示,语法为“replace(字段名,char(13),'新字符串') ”。

转换方法:1、利用cast函数,语法“select * from 表名 order by cast(字段名 as SIGNED)”;2、利用“select * from 表名 order by CONVERT(字段名,SIGNED)”语句。

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于MySQL复制技术的相关问题,包括了异步复制、半同步复制等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了mysql高级篇的一些问题,包括了索引是什么、索引底层实现等等问题,下面一起来看一下,希望对大家有帮助。

在mysql中,可以利用REGEXP运算符判断数据是否是数字类型,语法为“String REGEXP '[^0-9.]'”;该运算符是正则表达式的缩写,若数据字符中含有数字时,返回的结果是true,反之返回的结果是false。

在mysql中,是否需要commit取决于存储引擎:1、若是不支持事务的存储引擎,如myisam,则不需要使用commit;2、若是支持事务的存储引擎,如innodb,则需要知道事务是否自动提交,因此需要使用commit。

“mysql-connector”是mysql官方提供的驱动器,可以用于连接使用mysql;可利用“pip install mysql-connector”命令进行安装,利用“import mysql.connector”测试是否安装成功。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Dreamweaver CS6
Visual web development tools

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

Atom editor mac version download
The most popular open source editor

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.
