于2022-07-01 加入墨天轮
个人成就
发布7次内容
获得11次点赞
内容获得7次评论
获得14次收藏
回答了30次问答
文章分类
mysql
(4)
mysql 锁
(1)
墨力计划
(1)
mysql slowlog
(1)
redis
(1)
文章档案
2023年07月
(1)
2023年05月
(1)
2023年02月
(3)
2022年07月
(2)
动态
文章 ·0
数说 ·0
问答 ·0
文档 ·0
关注
留言板·0
mysql slowlog 的一些细节
关于mysql常规优化,我们一般会使用工具对slowlog汇总分析后,优化重点SQL。
在使用过程中,有一些细节问题,在此记录:
1. SQL始终没有记录到slowlog中?
2. 一条慢SQL的开始和结束时间?
3. 错误的SQL是否会被记录?
4. 中断的SQL是否会被记录?
5. Rows_exmained的含义?
发布文章于
2023-05-30
mysql阻塞-Waiting for table flush
业务反馈mysql无法访问,随即show processlist查看,发现存在大量Waiting for table flush的select sql线程。找到阻塞源并kill后,业务恢复正常。阻塞源是一个running状态的select sql,已经运行了20个小时,还未执行完成。理论上select sql之间是不会阻塞的,可本例又是如何产生的呢?
发布文章于
2023-02-19
mysqldump 5.7.36版本GTID不一致bug
有一个简单需求:用mysqldump在线备份主库,使用基于GTID方式重建从库。当在从库初始化数据后,数据同步出现不一致现象,随即排查,思路如下:。从库初始化@@GLOBAL.GTID_PURGED时,是否正确?检查后发现,是由于mysqldump存在bug导致。
发布文章于
2023-02-19
sql server 数据库怎么对插入的日期自动取月份数据?
还有使用触发器也可以。不过,个人建议第一种,在SELECT时使用函数即可。其它的方案会浪费存储空间,且保存数据时多做一些操作。
提交回复于
2022-08-08
Sql server恢复选择了具体时间点,会应用自上一次全量以来的事物日志吗
备份举例:全库备份:产生文件F差异备份(基于上一次的全库备份):备份过2次,产生文件D1,D2日志备份(基于上一次的日志备份):备份过3次,产生文件L1,L2,L3还原举例:F+(L1+L2+L3)F+D1+(L1/L2/L3)F+D2+(L1/L2/L3)你的问题:答案是肯定的。只要相关备份文件都在列表中,sql server会自动判断全备、差备和日志备份,恢复到指定的时间点。
提交回复于
2022-08-08
有文章说明或者证明MYSQL 嵌套子查询不足之处吗?
子查询优化:https://developer.aliyun.com/article/711481?spm=5176.24320532.content1.1.696a6e3dWS8bLs
提交回复于
2022-08-07
MySQL:导入sql,对比了表数据量一致,processlist也没有看到有锁等待事件。但是就一直卡着,这是什么问题?
1. 首先,确保已经连接到了mysql。比如使用一个新账号进行这个操作2. “卡”着说明可能有阻塞,一般会查是行级别锁(innodb_trx),还是表级别锁(meta_lock或show engine innodb status),还是其它阻塞?3. 也许并没有“卡”着,只是慢或事务很大而已,你要知道“卡”在哪条SQL上了(processlist)?如果没有锁,是否磁盘满了,查错误日志等。不过,只
提交回复于
2022-08-07
MYSQL物理存储文件的页和INNOBUF的页是否有大小区别?
1. 按实际分配2. 文件中的页和BUFFER POOL中的页一一对应3. 每个连接是有私有内存,但数据页的加载是放到BUFFER POOL中的https://help.aliyun.com/document_detail/51799.html
提交回复于
2022-08-07
sql server , 两个表,相同字段,相同数据量(5000万), 执行相同的查询,一个表执行的是索引扫描,扫描5000万,耗时2分钟, 另一个表执行的是索引查找,只查找10万,耗时1秒。为什么会有这么大的差别?
清理执行计划缓存。 对比表:是否启用压缩,索引是否一样 统计信息:可以手工收集下统计信息 如果还不行,加索引提示是否可生成一样的执行计划? 如果还不行,继续找原因,肯定有不一样的地方。
提交回复于
2022-08-04
mysql数据库月增长量问题
可以粗略统计表或库级别数据量,两次收集,求差。select table_schema, table_name, engine, table_type, sum(table_rows) as rows, round(sum(data_length)/1024/1024, 2) as `data(MB)`, round(sum(index_length)/1024/1024, 2) as `index
提交回复于
2022-08-04
raid5的写性能,是不的比raid10快一些?
1、随机写的性能raid10要比raid5好很多 2、同时读写的读性能raid10要比raid5好一些3、raid10或者raid5,顺序读写没有明显的差异,随机读写、同时读写两倍左右的差别4、数据库业务,建议raid10,无论是性能还是容错。不差钱,肯定raid10。
提交回复于
2022-08-04
SQL SERVER 数据库,表的数据发生增删改,该表的索引会在ldf日志中记录吗?
会。会。ldf日志会记录下数据库所有的变化,数据和索引页的更改都会被记录。数据库的崩溃恢复,镜像,复制等功能全部依靠ldf文件。
提交回复于
2022-08-04
MySQL中控制导出文件后变为了\N有什么解决方案吗?
是指\n吧?如果字段值中包含了换行符,因为它不可见,所以导出后会用\n表示,等到再导入到其它系统时,也会正确识别\n为换行符。
提交回复于
2022-07-30
MSSQL收缩事务日志作业失败
先把数据库设置为“简单”模式,再收缩事务日志文件,再恢复“完整”模式,不知道出于什么原因,要这样来收缩事务日志文件?正确的操作是:数据库设置为“完整”模式根据事务日志产生的量,定时备份事务日志文件,已备份的事务日志空间会被重用。如果特殊情况下,事务日志文件备份后无法重用,且文件大小很大,才考虑用你JOB中的方式处理。
提交回复于
2022-07-30
sql server收缩日志的作业和记录,失败就是因为和备份冲突了吗?
是的,有可能。你可以查下当shirk操作失败时,sql server正在做什么操作,然后测试下。参考:https://www.cnblogs.com/nzperfect/archive/2012/07/24/2606841.html
提交回复于
2022-07-30
mogdb和mogha开源吗?
MogDB是云和恩墨基于openGauss内核进行增强提升,推出的一款安稳易用的企业级关系型数据库,mogha是它的高可用组件。均不开源。
提交回复于
2022-07-30
SQL server 2014 怎么一次性导出多个查询结果?
先把数据缓存到N张临时表,再用bcp生成N个csv文件,参考:https://www.cnblogs.com/hawking8su/p/14331942.html
提交回复于
2022-07-27
mysql数据库定时备份占用大量线程,导致全局锁表,有啥好的解决方法么
你要查明所谓"占用大量线程,导致全局锁表"的原因:是否多线程备份,谁在持有锁,持有什么锁,谁被阻塞,为什么被阻塞?备份时,主库是否有高并发然后再定解决方案:在业务低峰期备份设置备份超时时长(xtrabckup);使用特定的备份账号,监控锁信息并及时处理在从库备份
提交回复于
2022-07-27
sql server, FULL模式, dbcc shrinkfile(2,1) 不能收缩事务日志,还是原来的大小,是为什么?
1. 需要进行过一次完整备份。 2. 进行日志备份后,才能收缩。 3. shrink应该可以了。如果还是不行,再进行一次日志备份,应该就可以了。 4. 如果还不行,查看日志空闲空间,寻求其它方案:比如先改成简单模式,问题解决后再改回来。
提交回复于
2022-07-25
oracle is not null 过滤不了Null值
select * from tb where field=chr(0);oracle确实存在这个问题,参考:https://www.modb.pro/db/33720
提交回复于
2022-07-20
MySQL 执行失败的sql是否会计入慢查询?
测试了下,SQL执行时长,只要超过slowlog的阈值(long_query_time),即使最终执行失败,也会记录。
提交回复于
2022-07-19
MySQL 中RDS 链接数突然上涨怎么查?
selectuser, db, substring_index(host,’:’,1) as host, count(*) as cntfrom information_schema.processlistgroup by user, db, substring_index(host,’:’,1)order by user, db, host;
提交回复于
2022-07-18
备份mysql数据,直接物理复制data_dir指向的目录可以吗?
设置innodb_fast_shutdown=0, 干净shutdown mysql,备份除mysql程序外的所有文件(log文件除外),记住你的mysql版本。
提交回复于
2022-07-18
MySQL数据库数据目录满了,能否再在其他路径下放置数据文件?
方案1:关闭mysql,move datadir整个目录至新磁盘,修改my.cnf中相关路径,启动mysql。方案2:新磁盘创建表空间,新建的表指定存储到这个表空间;或迁移旧表至新表空间,参考:https://blog.51cto.com/u_14150796/5372402一般情况建议方案1,方案2增加运维复杂度。
提交回复于
2022-07-18
MySQL 索引树是在每次搜索之前建立,还是建立索引的时候生成的?
create index的时候创建了"索引树"(B+Tree),后续的insert,delete,update会实时更新相应的B+Tree。这样当select时,直接搜索B+Tree即可。还有,像自适哈希索引是innodb根据一定条件自动触发创建的,但都是先创建,再使用。
提交回复于
2022-07-18
mysql show variables 查的是哪个表里面的数据?
#mysql5.7+
#会话级别
show variables like '%%';
select * from performance_schema.session_variables;
#全局级别
show global variables like '%%';
select * from performance_schema.global_variables;
提交回复于
2022-07-15
如何消除 MySQL表中的字段特别设置的字符集和排序规则?
重新指定字段字符集即可(排序规则默认)CREATE TABLE `t1` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`serial_no` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAU
提交回复于
2022-07-15
如何统计redis中的key分布?
当我们想了解一个redis时,除了它的软硬件配置、架构,还想知道这个redis中到底存储了什么?占用了多少内存?是否存在bigkey?
发布文章于
2022-07-12
请问SQL SERVER定时任务存放在那个文件内,我需要恢复定时任务
定时任务存储在msdb库中,把这个库恢复了,启动sql server代理,就能看到JOB了。一般来说,msdb库也是需要备份的。
提交回复于
2022-07-11