MySQL--SQL语句优化之 left join

摘要:工作中我们经常用到多个left join去关联其他表查询结果,但是随着数据量的增加,一个表的数据达到百万级别后,这种普通的left join查询将非常的耗时。原SQL:SELECT a.*,b.*,b.diff_num,b.supplier_id,b.num,b.price,c.product_id,c.old_spec_sku,c.new_purchase_price,d.old_parent_sku,d.product_cname FROM hexin_erp_storage_out_main a left JOIN hexin_erp_storage_out_de

 修改主机时间对MySQL影响-InnoDB: Waiting for page_cleaner to finish flushing of buffer pool

摘要:背景在装机实施时,BIOS忘记调整时间,导致服务器时间与CST不符合;待发现问题时,MySQL环境已经在运行,所以只能通过操作系统进行更改;但是更改完成后,MySQL进行重启时发生了问题。以下为问题复现和解决过程测试环境MySQL 5.7.24 CentOS 7.4root@localhost : (none) 12:00:54> show variables like '%time_zone';+------------------+--------+| Variable_name | Value |

 MySQL:为什么无法KILL在processlist中的语句[转]

摘要:在 MySQL 中有两个 kill 命令:一个是 kill query + 线程 id,表示终止这个线程中正在执行的语句;一个是 kill connection + 线程 id,这里 connection 可缺省,表示断开这个线程的连接,当然如果这个线程有语句正在执行,也是要先停止正在执行的语句的。不知道你在使用 MySQL 的时候,有没有遇到过这样的现象:使用了 kill 命令,却没能断开这个连接。再执行 show processlist

 MySQL千万级数据库数据插入速度调优

摘要:问题描述:普通台式机,采集数据,表中已经有>1000万数据量。采集回来的数据插入表中的时候很慢,每条约100毫秒。解决方法:1、加大mysql配置中的bulk_insert_buffer_size,这个参数默认为8Mbulk_insert_buffer_size=100M2、改写所有insert语句为insert delayed这个insert delayed不同之处在于:立即返回结果,后台进行处理插入。还有一个技巧是在一跳insert中插入多条数据,

 千万级数据库SQL查询优化方法

摘要: 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,Sql 代码 : select id from t where num is null;可以在 num 上设置默认值 0,确保表中 num 列没有 null 值,然后这样查询:Sql 代码 : select id from t where num=0;3.应尽量

 mysql 的delete from 和update子查询限制

摘要:做项目时发现的问题,好像在update时也有。。。网上查到的资料如下:1.使用mysql进行delete from操作时,若子查询的 FROM 字句和更新/删除对象使用同一张表,会出现错误。mysql> DELETE FROM tab1 WHERE col1 = ( SELECT MAX( col1 ) FROM tab1 ); ERROR 1093 (HY000): You can’t specify target table ‘tab1′ for update in FROM clause 针对“同一张表”这个

 mysql死锁问题分析

摘要:线上某服务时不时报出如下异常(大约一天二十多次):“Deadlock found when trying to get lock;”。      Oh, My God! 是死锁问题。尽管报错不多,对性能目前看来也无太大影响,但还是需要解决,保不齐哪天成为性能瓶颈。     为了更系统的分析问题,本文将从死锁检测、索引隔离级别与锁的关系、死锁成因、问题定位这五个方面来展开讨论。  

 配置 Mysql 读写分离+强制走写节点+根据主从延时的读写分离

摘要:数据库读写分离对于大型系统或者访问量很高的互联网应用来说,是必不可少的一个重要功能。对于MySQL来说,标准的读写分离是主从模式,一个写节点Master后面跟着多个读节点,读节点的数量取决于系统的压力,通常是1-3个读节点的配置。Mycat读写分离和自动切换机制,需要mysql的主从复制机制配合。·       MyCat的安装请参考:Linux 下 Mycat 的安

 SQL:一种熟悉又陌生的编程语言,你了解他吗?

摘要:一、SQL :一种熟悉又陌生的编程语言这里有几个关键词;“熟悉”、“陌生”、“编程语言”。说它“熟悉”,是因为它是DBA和广大开发人员,操作数据库的主要手段,几乎每天都在使用。说它“陌生”,是很多人只是简单的使用它,至于它是怎么工作的?如何才能让它更高效的工作?却从来没有考虑过。这里把SQL归结为一种“编程语言”,可能跟很多人对它的认知不同。让我们看看它的简单定

 逆天操作-将https访问通过反向代理转换成http访问

摘要:业务需求:第三方平台要求以https协议来访问网站,但平台没有配置https,只有http,如果不配置成https,第三方平台不提供服务。解决方法:通过apache反向代理+浏览器跨域解决https转http问题重点要解决以下两个问题:                  1.浏览器只允许https到https的访问,不允许ht
分页:« 1 2 3 4 5 6 7 8 9 10 »
Powered by AKCMS