MySql in子句 效率低下优化 背景: 更新一张表中的某些记录值,更新条件来自另一张含有200多万记录的表,效率极其低下,耗时高达几分钟. update clear_res set candelete=0 where resid in ( select distinct resourceid from att_attentionresult where important=0 ); 耗时 365s 优化后 update clear_res set candelete=0 where resi…
MySql in子句 效率低下优化 背景: 更新一张表中的某些记录值,更新条件来自另一张含有200多万记录的表,效率极其低下,耗时高达几分钟. where resid in ( ); 耗时 365s 优化后 where resid in ( select resourceid from ( ) as tmp ); 耗时 1.41s 总结:对于where xxx in 子句效率极其低下问题,经过in的子句外包装一层select xxx from( ... )as tmp 后,极大优化效率.…
一.购买云服务器 我是今年双十一期间在阿里云购买的服务器, 简单配置2核_4G_40G_3M,三年用了不到800块,不过当时我记得腾讯云更便宜,个人感觉,阿里的云服务器更加的稳定, 毕竟身经百战, 经过了这么多次双十一的考验, 可是就在我昨天支付宝崩了,打脸.....自己玩的话建议同类型的服务器,买便宜的,因为买了后就是不小心忘了, 放到那里了,也不会心太痛.好了,我们现在就去服务器上耍耍. 二.安装docker 这是我的上一篇安装过程,亲测可用 https://www.cnblogs.com/…
tomcat6管理用户 在tomcat `安装根目录`/conf/tomcat-users.xml…
重置MySQL root密码 重置MySQL root用户的密码: 1)新建一个文本文件sql.txt,写入修改用户密码的SQL语句. MySQL 5.7.6及更高版本写这句: ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass'; MySQL 5.7.5及更早版本写这句: SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');  2)停掉mysql服务 cd /usr/l…
一.安装MySQL 1.下载安装包 mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz 下载地址: https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz 2.卸载系统自带的Mariadb rpm -qa|grep mariadb //查询已安装的mariadb 我的电脑有三个mariadb rpm -e --nodeps 文件名 //卸载,文…
mysql explain亲测 1 where后面字段加索引:数据库类型如果是字符串类型 查询where的时候必须要用 字符串 类型必须一致 否则不用索引 type还是会是all的 ps:如果where有2个字段匹配 那就要2个字段加上索引 这里有必要说明下 btree索引支持匹配索引第一列 也就是说 info1和info2加了复合索引也同时给info1加了索引 2 left join 索引优化的时候 只需要右表字段加索引 还有where后字段加索引 ps左表尽可能的小 因为他不用索引的...…
一.数据库的优化 1.优化索引.SQL 语句.分析慢查询: 2.设计表的时候严格根据数据库的设计范式来设计数据库: 3.使用缓存,把经常访问到的数据而且不需要经常变化的数据放在缓存中,能节约磁盘IO: 4.优化硬件:采用SSD,使用磁盘队列技术(RAID0,RAID1,RDID5)等: 5.采用MySQL 内部自带的表分区技术,把数据分层不同的文件,能够提高磁盘的读取效率: 6.垂直分表:把一些不经常读的数据放在一张表里,节约磁盘I/O: 7.主从分离读写:采用主从复制把数据库的读操作和写入操作…
mysql in 子查询 效率慢 优化(转) 现在的CMS系统.博客系统.BBS等都喜欢使用标签tag作交叉链接,因此我也尝鲜用了下.但用了后发现我想查询某个tag的文章列表时速度很慢,达到5秒之久!百思不解(后来终于解决),我的表结构是下面这样的,文章只有690篇. 文章表article(id,title,content)标签表tag(tid,tag_name)标签文章中间表article_tag(id,tag_id,article_id)其中有个标签的tid是135,我帮查询标签tid是13…
是否为线上库的备份而烦恼过,这里提供一个完整的备份从属数据库的备份方案,亲测可用 说明: 备份从库,按周计,每周进行一次全备 每周一的早上六点进行全备,其他时间备份中继日志 在从库上启用rsync服务,用于异地备份 在本地服务器使用rsync命令定时同步数据库的备份 此备份可用于为Master添加新的Slave,也可以用于还原Master 一.服务器端配置 1. Python编写的备份脚本 root@DBSlave:~# cat /scripts/mysql_slave_backup.py #!…
本人亲测,windows作为mysql主服务器,linux作为从服务器,使用两个linux配置步骤都一样,测一遍而已:区别配置文件在于windwos是my.ini.linux在/etc/my.cof 主从复制的原理是b+tree,具体的去百度:主服务器master,启用二进制日志,所有操作在这个日志中记录着,从服务器slave从主服务器中读取二进制日志,然后将所有主服务器的操作全部执行一遍,以此来实现同步内容: 主从配置:为了将mysql的数据库分不到多个系统中,最简单的实现方式就是复制了.而m…
Navicat 12 for MySQL最新版激活(注册机)(转)(亲测有效) 一.总结 一句话总结: 1.卸载自己机器上面的Navicat,安装下载的包里面的Navicat安装包,不然可能不行 2.一定记得中间步骤的拔掉网线,也就是断网,飞行模式不一定可以 二.Navicat 12 for MySQL最新版激活(注册机)(转)(亲测有效) 转自或参考:Navicat 12 for MySQL最新版激活(注册机)https://blog.csdn.net/zhangli0910/article/…
IDEA 2018.3.5 最新版本亲测可用. Git地址:https://github.com/pengzhile/MyBatisCodeHelper-Pro-Crack/releases 下载最新版(当前是V2.3)的zip压缩包到本机,然后,IDEA里面打开plugin安装界面(File->Settings->plugin),选择从本地硬盘路径安装: 安装完成重启IDEA,然后界面底部会有个提示让你输入key激活MybatisCodeHelperPro插件,你随便输入内容便可成功激活.…
查询性能优化 1. 为什么查询速度会慢? 1). 如果把查询看作是一个任务,那么它由一系列子任务组成,每个子任务都会消耗一定的时间.如果要优化查询,实际上要优化其子任务,要么消除其中一些子任务,要么减少子任务的执行次数,要么让子任务运行的更快. 2). 通常来说,查询的生命周期大致可以按照顺序来看:从客户端,到服务器端,然后在服务器上进行解析,生成执行计划,执行,并返回结果给客户端.其中"执行"可以认为是整个生命周期中最重要的阶段,这其中包括 大量为了检索数据到存储引擎的调用以及调用后…
本篇深入了解查询优化和服务器的内部机制,了解MySql如何执行特定查询,从中也可以知道如何更改查询执行计划,当我们深入理解MySql如何真正地执行查询,明白高效和低效的真正含义,在实际应用中就能扬长避短. 声明:本人使用的数据库版本为MySql 5.1 一.基本原则:优化数据访问 查询性能低下的最基本原因就是访问了太多数据,一些查询要不可避免地筛选大量的数据,大部分性能欠佳的查询都可以用减少数据访问的方式进行优化. 1.首先分析应用程序是否正在获取超过需要的数据,这通常表现在获取了过多的行或列.…
选择优化的数据类型 MySQL支持的数据类型非常多,选择正确的数据类型对于获得高性能至关重要.不管存储哪种类型的数据,下面几个简单的原则都有助于做出更好的选择: 更小的通常更好一般情况下,应该尽量使用可以正确存储数据的最小数据类型.更小的数据类型通常更快.因为它们占用更少的磁盘.内存和CPU缓存,并且处理时需要的CPU周期也更少.但是要确保没有低估需要存储的值的范围,因为在schema中的增加数据类型的范围是一个非常耗时和痛苦的操作.如果无法确定哪个数据类型是最好的,就选择不会超过范围的最小类型…
上节谈了关于mysql锁定机制的优化方案,下面来谈一下Query优化——Mysql Query Optimizer 当Mysql Query Optimizer接受到从Query Parser过来的Query时会根据相应语法进行分解分析,同时还会做很多其他的计算转化工作如常量转化,无效内容删除.常量计算等.所有这些工作都是为了Optimizer分析出最优的数据检索方式---执行计划. Mysql Query Optimizer所有工作建立在Query Tree的基础上,QueryTree是通过优…
之前上次在部门的分享会上,听了关于MySQL大数据的分页,即怎样使用limit offset,N来进行大数据的分页,现在做一个记录: 首先我们知道,limit offset,N的时候,MySQL的查询效率特别的低,注意是在limit大数据量的时候,测试的表的数据量是1KW条,limit 5000000,N的时候,速度变的非常的慢,当然了offset特别小的时候,查询的速度没有什么差别.那我们来想一下什么没原因造成的? 那其实原因就是MySQL并不是跳过offset行,然后单取N行,而是取offs…
对于一些数据量较大的系统,数据库面临的问题除了查询效率低下,还有就是数据入库时间长.特别像报表系统,每天花费在数据导入上的时间可能会长达几个小时或十几个小时之久.因此,优化数据库插入性能是很有意义的.经过对MySQL innodb的一些性能测试,发现一些可以提高insert效率的方法,供大家参考参考. 1. 一条SQL语句插入多条数据.常用的插入语句如:   1 2 3 4 INSERT INTO `insert_table` (`datetime`, `uid`, `content`, `ty…
对于一些数据量较大的系统,数据库面临的问题除了查询效率低下,还有就是数据入库时间长.特别像报表系统,每天花费在数据导入上的时间可能会长达几个小时或十几个小时之久.因此,优化数据库插入性能是很有意义的. 经过对MySQL innodb的一些性能测试,发现一些可以提高insert效率的方法,供大家参考参考. 一条SQL语句插入多条数据 常用的插入语句如: INSERT INTO `insert_table` (`datetime`, `uid`, `content`, `type`) VALUES…
一.通过MySQL慢查询日志定位执行效率低的SQL语句. MySQL通过慢查询日志定位那些执行效率较低的SQL 语句,用--log-slow-queries[=file_name]选项启动时,mysqld 会写一个包含所有执行时间超过long_query_time 秒的SQL语句的日志文件,通过查看这个日志文件定位效率较低的SQL . 1.通过命令: show variables like '%query%'  查看是否开启慢查询日志. 开启前 开启后 slow_query_log :   on…
php面试专题---Mysql索引原理及SQL优化 一.总结 一句话总结: 注意:只写精品 1.为表设置索引要付出代价 是什么? 存储空间:一是增加了数据库的存储空间 修改插入变动索引时间:二是在插入和修改数据时要花费较多的时间(因为索引也要随之变动) 2.在哪些列上面创建索引比较合适? 1.连接的列:在经常用在连接的列上,这些列主要是一些外键,可以加快连接的速度: 2.范围:在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的: 3.排序:在经常需要排序的列上创建索…
MySQL数据库基础知识及优化必会的知识点,你掌握了多少? 推荐阅读: 这些必会的计算机网络知识点你都掌握了吗 关于数据库事务和锁的必会知识点,你掌握了多少? 关于数据库索引,必须掌握的知识点 目录 SQL语句基础知识及优化 SQL语句主要分为哪几类 * SQL约束有哪些? ** 什么是子查询? ** 了解MySQL的几种连接查询吗? *** mysql中in和exists的区别? ** varchar和char的区别? *** MySQL中int(10)和char(10)和varchar(10…
nginx代理https站点(亲测) 首先,我相信大家已经搞定了nginx正常代理http站点的方法,下面重点介绍代理https站点的配置方法,以及注意事项,因为目前大部分站点有转换https的需要所以学习这个方法也是很重要的,我就不啰嗦了 直奔主题了------ 测试环境 nginx版本 nginx/1.6.3 php版本  5.5.38 mysql版本 5.5.32 前提,后端web节点已经可以同时监听80,443端口(站点可以正常通过web节点访问http和https),具体配置https…
CRM是英文Customer Relationship Management 的简写,一般译作“客户关系管理”.CRM最早产生于美国,由Gartner Group 首先提出的CRM这个概念的.20世纪90年代以后伴随着互联网和电子商务的大潮得到了迅速发展.不同的学者或商业机构对CRM的概念都有不同的看法. 这个概念的原创者认为,CRM是一种商业策略,它按照客户的分类情况有效地组织企业资源,培养以客户为中心地经营行为以及实施以客户为中心地业务流程,并以此为手段来提高企业赢利能力.利润以及顾客满意度…
一. 说到mysql的调优,有许多的点可以让我们去做,因此梳理下,一些调优的策略,今天只是总结下服务器参数的调优  其实说到,参数的调优,我的理解就是无非两点: 如果是Innodb的数据库,innodb_buffer_pool_size就开的尽可能大点,我一般都是开内存的80%左右 如果是MyISAM的数据库,key_buffer_size就尽可能的开的大点.  我觉得这是非常重要的两个参数,下面是重点介绍下,这两个参数的作用:  innodb_buffer_pool_size:  该参数是用来…
http://blog.csdn.net/ccf19881030/article/details/9204801 很久以前使用博客园博主子龙山人的一篇博文<Cocos2d-x win7+vs2010配置图文详解(亲测)>成功配置过cocos2d-1.01-x-0.9.1版本,链接为:Cocos2d-x win7 + vs2010 配置图文详解(亲测)-来自子龙山人的博客,他写的博客图文并茂,很是详细.现在想要使用最新版本cocos2d-x-2.1.4,于是需要把之前安装到VS2010中coco…
亲测安装php1.tar zvxf php-5.3.8.tar.gz 2.cd php-5.3.83../configure \ --prefix=/usr/local/php \--with-mysql=/usr/local/mysql \  --with-apxs2=/usr/local/apache2/bin/apxs \--with-libxml-dir=/usr/local/libxml2 出现错误: configure: error: You have enabled Apache …
亲测安装php1.tar zvxf php-5.3.8.tar.gz 2.cd php-5.3.83../configure \ --prefix=/usr/local/php \--with-mysql=/usr/local/mysql \  --with-apxs=/usr/local/apache2/bin/apxs \--with-libxml-dir=/usr/local/libxml2 出现问题:configure: error: xml2-config not found. Ple…
------------VS 2013驱动开发 + Windbg + VM双机调试(亲测+详解)------------- WIN10已上线,随之而来的是VS2015:微软在 "WDK7600" 以后就不再提供独立的内核驱动开发包了,而是必须首先安装微软集成开发环境VS,然后再从微软官网下载集成的WDK驱动程序开发包.或者离线安装的开发包. 地址: https://msdn.microsoft.com/zh-cn/windows/hardware/hh852365.aspx 离线下载地…