long transaction 背景 大家有没有遇到这样的情况
某个SQL执行特别慢,导致整个transaction一直处于running阶段
某个Session的SQL已经执行完了,但是迟迟没有commit,一直处于sleep阶段 某个Session处于lock
wait阶段,迟迟没有结束 以上,大部分原因都是大事务导致的,接下来我们好好聊聊相关话题 关键字 环境1.
【云栖社区】 【数据存储与数据库】 【系统研发与运维】 【监控】 【mysql】 …
又爱又恨的MDL锁了解一下~
【云栖社区】 【监控】 【mysql】 【数据库】 【高并发】 【lock】 【database】 【metadata】 【update】 …
MySQL8.0对json进行了比较完善的支持, 我们知道json具有比较特殊的存储格式,通常存在多个key
value键值对,对于类似更新操作通常不会更新整个json列,而是某些键值。
对于某些复杂的应用,json列的数据可能会变的非常庞大,这时候一个突出的问题是:innodb并不识别json类型,对它而言这些存储统一都是LOB类型,而在之前的版本中Innodb处理LOB更新的方式是标记删除旧记录,并插入新记录,显然这会带来一些存储上的开销(尽管Purge线程会去后台清理),而写入的redo
log和Binlog的量也会偏高,对于超大列,可能会严重影响到性能。
【数据存储与数据库】 【mysql】 …
安装 mysql
sudo apt-get --purge remove mysql-server mysql-common mysql-client sudo apt-get install mysql-server mysql-common mysql-client
mysqladmin -u root password your-new-password sudo
/etc/init.d/mysql restart mariadb apt-get install mariadb-server
字符集修改utf8 如果装的mariadb, 默认字符集已经是utf8了。
【linux】 【mysql】 【ubuntu】 【Mariadb】 【grant】 【字符集】 …