mysql
seanything
鹰击长空,鱼翔浅底
展开
-
mysql索引优化分析案例
预先准备好数据SET FOREIGN_KEY_CHECKS=0;DROP TABLE IF EXISTS `itdragon_order_list`;CREATE TABLE `itdragon_order_list` ( `id` bigint(11) NOT NULL AUTO_INCREMENT COMMENT '主键id,默认自增长', `transaction_id` varchar(150) DEFAULT NULL COMMENT '交易号', `gross` double原创 2020-07-19 17:31:39 · 121 阅读 · 0 评论 -
mysql锁机制详解
1、MySQL锁的基本介绍 **锁是计算机协调多个进程或线程并发访问某一资源的机制。**在数据库中,除传统的 计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一 个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。 相对其他数据库而言,MySQL的锁机制比较简单,其最 显著的特点是不同的存储引擎支持不同的锁机制。比如,MyISAM和MEMORY原创 2020-07-19 17:25:42 · 142 阅读 · 0 评论 -
mysql查询优化详解
为什么查询慢在编写快速的查询之前,需要清楚一点,真正重要的是响应时间,而且要知道在整个SQL语句的执行过程中每个步骤都花费了多长时间,要知道哪些步骤是拖垮执行效率的关键步骤,想要做到这点,必须要知道查询的生命周期,然后进行优化,不同的应用场景有不同的优化方式,不要一概而论,具体情况具体分析如果一个sql查询比较慢,可能因为多方面的原因:网络、cpu、io、上下文切换、系统调用、生成统计信息/临时表、锁等待时间优化数据访问查询性能低下的主要原因是访问的数据太多,某些查询不可避免的需要筛选大量的数据原创 2020-07-19 17:23:19 · 146 阅读 · 0 评论 -
mysql使用索引扫描进行排序
mysql有两种方式可以生成有序的结果:通过排序操作或者按索引顺序扫描,如果explain出来的type列的值为index,则说明mysql使用了索引扫描来做排序 扫描索引本身是很快的,因为只需要从一条索引记录移动到紧接着的下一条记录。但如果索引不能覆盖查询所需的全部列,那么就不得不每扫描一条索引记录就得回表查询一次对应的行,这基本都是随机IO,因此按索引顺序读取数据的速度通常要比顺序地全表扫描慢 mysql可以使用同一个索引即满足排序,又用于查找行,如果可能的话,设计索引时应该尽可能地同时满足原创 2020-07-19 15:54:37 · 238 阅读 · 0 评论 -
前缀索引实例说明
有时候需要索引很长的字符串,这会让索引变的大且慢,通常情况下可以使用某个列开始的部分字符串,这样大大的节约索引空间,从而提高索引效率,但这会降低索引的选择性,索引的选择性是指不重复的索引值和数据表记录总数的比值,范围从1/#T到1之间。索引的选择性越高则查询效率越高,因为选择性更高的索引可以让mysql在查找的时候过滤掉更多的行。 一般情况下某个列前缀的选择性也是足够高的,足以满足查询的性能,但是对应BLOB,TEXT,VARCHAR类型的列,必须要使用前缀索引,因为mysql不允许索引这些列的完整长原创 2020-07-19 15:53:06 · 163 阅读 · 0 评论 -
mysql索引调优详解,吊打面试官
索引基础知识索引的优点减少服务器需要扫描的数据量帮助避免排序和临时表将随机io变为顺序io索引的用处快速查找匹配where子句的行自动过滤,如果可以在多个索引之间进行选择,mysql的动态优化会使用找到最少行的索引如果表具有多列索引,则优化器可以使用索引的任何最左前缀来查找行当有表连接的时候,从其他表检索行数据查找特定索引列的min或max值如果排序或分组时在可用索引的最左前缀上完成的,则对表进行排序和分组在某些情况下,可以优化查询以检索值而无需查询数据行索引的种类主键原创 2020-07-19 15:48:13 · 558 阅读 · 0 评论 -
mysql执行计划详解
在企业的应用场景中,为了知道优化SQL语句的执行,需要查看SQL语句的具体执行过程,以加快SQL语句的执行效率。 可以使用explain+SQL语句来模拟优化器执行SQL查询语句,从而知道mysql是如何处理sql语句的。 官网地址: https://dev.mysql.com/doc/refman/5.5/en/explain-output.html1、执行计划中包含的信息ColumnMeaningidThe SELECT identifierse原创 2020-07-19 13:54:22 · 170 阅读 · 1 评论 -
MYSQL performance schema详解
0、performance_schema的介绍 MySQL的performance schema 用于监控MySQL server在一个较低级别的运行过程中的资源消耗、资源等待等情况。 特点如下: 1、提供了一种在数据库运行时实时检查server的内部执行情况的方法。performance_schema 数据库中的表使用performance_schema存储引擎。该数据库主要关注数据库运行过程中的性能相关的数据,与information_schema不同,information_sche原创 2020-07-19 13:51:48 · 137 阅读 · 0 评论 -
mysql性能监控
为什么需要监控mysql使用mysql不仅仅需要能简单的crud,还需要进行性能调优,不管是工作中还是去面试这都比较重要,要想学会mysql调优首先得学会监控mysql的性能,不多说废话,直接开干show profilemysql是自带监控工具的,有的版本可能默认开启,有的可能关闭的,所以首先检查profiling是否打开show variables like ‘profiling’;如上profiling已经打开了,如果是off的话需要执行以下命令打开:set profiling=1;原创 2020-06-24 00:19:44 · 169 阅读 · 0 评论 -
centos7安装mysql5.7
一般情况下我习惯使用yum安装软件,但是使用yum安装mysql的话默认安装的事MariaDB,并且版本不是我想要的,所以这里记录一下centos安装mysql5.7首先去官网找到5.7版本的rpm下载路径,wget下载wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm然后安装yum软件包yum -y install mysql57-community-release-el7-10.no原创 2020-06-23 19:38:56 · 140 阅读 · 0 评论