uiste

uiste


  • 首页

  • 归档

  • 关于

  • 搜索

mysql运行中的事务导致锁表

发表于 2017-08-17
有时代码的不合理操作会导致,事务不能提交,mysql表上执行任何的操作,都在等待,查询也好,修改也好,所有的进程,都会卡在那里,然后你会慌,误以为电脑怎么卡了,这个时候呢,要排查问题。 首先,查询当前的系统进程show processlist; 如果有等待的进程,状态就会显示在等待,同时info会显示执行的sql 第一步只是确认你的操作确实被锁了,第二步就是查询事务了SELECT * from information_schema.innodb_trx; 这是表里就会有一条trx_state为running的记录,然后记下trx_mysql_thread_id这个字段的值,这个值是进程id 干 ...
阅读全文 »

mysql SQL优化

发表于 2017-08-16
mysql5.7中type的类型达到了14种之多,这里只记录和理解最重要且经常遇见的六种类型,它们分别是all,index,range,ref,eq_ref,const。从左到右,它们的效率依次是增强的 mysql explain功能中展示各种信息的解释:12345678910111213141516171819202122232425262728293031323334353637383940414243id:优化器选定的执行计划中查询的序列号。select_type:所用的查询类型,主要由以下这集中查询类型。 . DEPENDENT UNION:子查询中的UNION,且为UNION中从第 ...
阅读全文 »

mysql 数据文件、数据结构

发表于 2017-08-15
基础结构 Connection:这一块其实主要是其他语言的连接,并不属于MySQL本身;主要是其他语言对于MySQL的连接操作的工具比如PHP中的:pdo,mysqli或者 Navicat for MySQLSQL层:功能主要包括权限判断,SQL解析功能和查询缓存处理等。 链接/线程处理:客户端通过 连接/线程层 来连接MySQL数据库,连接/线程层主要用来处理客户端的请求、身份验证和数据库安全性验证等。 查询缓存和查询分析器是SQL层的核心部分,其中主要涉及查询的解析、优化、缓存、以及所有内置的函数,存储过程,触发器,视图等功能。 优化器主要负责存储和获取所有存储在MySQL中的数据。 ...
阅读全文 »

mysql 锁机制、事务

发表于 2017-08-14
锁机制三大锁表锁、行锁、页锁 锁类型。 MyISAM 和 Memory 存储引擎使用的是表级锁,BDB 引擎使用的是页级锁,也支持表级锁。由于 BDB 引擎基本已经成为历史,因此就不再介绍了。 InnoDB 存储引擎既支持行级锁,也支持表级锁,默认情况下使用行级锁。 表级锁,它直接锁住的是一个表,开销小,加锁快,不会出现死锁的情况,锁定粒度大,发生锁冲突的概率更高,并发度最低。 行级锁,它直接锁住的是一条记录,开销大,加锁慢,发生锁冲突的概率较低,并发度很高。 页级锁,它是锁住的一个页面,在 InnoDB 中一个页面为16KB,它的开销介于表级锁和行级锁中间,也可能会出现死锁,锁定粒度也介于表 ...
阅读全文 »

mysql 视图、触发器、存储过程

发表于 2017-08-13
视图基本操作123456789101112131415161718192021222324252627# 视图## 创建视图create view test_view as select id,name,age from tb_test where status = 1 with check option;## 插入视图数据insert into test_view (name,age,status) values ('uiste',18,1);-- insert into test_view (name,age) values ('uiste',18)-- 1369 - CHECK OPTI ...
阅读全文 »
1…111213…35
uiste

uiste

Stay Hungry,Stay Foolish

173 日志
13 分类
66 标签
RSS
GitHub 微博 知乎
Links
  • Mandy画站
© 2015 - 2021 uiste