# 问题描述如何避免在 UPDATE 或者 DELETE 的时候,忘记加 WHERE 条件,导致对数据库的全表数据进行误操作。# 问题分析开启 MySQL 系统变量 sql_safe_updates ,可以捕获没有使用索引,没有使用 WHERE 语句,LIMIT 语句导致的大量的更新或者删除的的操作。# 场景模拟1. 开启会话级别的 sql_safe_updates```sqlMySQL [sbtest]> show variables like 'sql_safe_updates';+------------------+-------+| Variable_name | V...
为查询缓存优化你的查询大多数的 MySQL 服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被 MySQL 的数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了。这里最主要的问题是,对于程序员来说,这个事情是很容易被忽略的。因为,我们某些查询语句会让 MySQL 不使用缓存。MySQL 的查询缓存对这个函数不起作用。所以...
# 前言我们通常使用 mysqldumpslow 工具来分析 MySQL 慢日志,这里推荐一个更加完善,输出有用信息更多的工具 pt-query-digest。# 基本用法#### 1. 直接分析慢日志````undefinedpt-query-digest rds_slow_query... 同时还有执行时间(exec time) 以及 锁时间(lock time),发送到客户端的行数(Rows sent),扫描的行数(rows examine),以及查询的字符数(query size)````undefined**# Attribute total min max ...
你可能需要使用 MySQL 全文索引 或是自己做一个索引(比如说:搜索关键词或是 Tag 什么的)
为查询缓存优化你的查询大多数的 MySQL 服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被 MySQL 的数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了。这里最主要的问题是,对于程序员来说,这个事情是很容易被忽略的。因为,我们某些查询语句会让 MySQL 不使用缓存。MySQL 的查询缓存对这个函数不起作用。所以...
# 前言我们通常使用 mysqldumpslow 工具来分析 MySQL 慢日志,这里推荐一个更加完善,输出有用信息更多的工具 pt-query-digest。# 基本用法#### 1. 直接分析慢日志````undefinedpt-query-digest rds_slow_query... 同时还有执行时间(exec time) 以及 锁时间(lock time),发送到客户端的行数(Rows sent),扫描的行数(rows examine),以及查询的字符数(query size)````undefined**# Attribute total min max ...
本文介绍云数据库 MySQL 版为数据库版本 MySQL 8.0 提供的可修改参数,以及参数的默认值、修改后是否需要重启和取值范围。 序号 参数名 参数默认值 是否需要重启 取值范围 1 auto_increment_increment 1 否 [1-6553... 144 max_execution_time 0 否 [0-4294967295] 145 max_heap_table_size 67108864 否 [16384-1844674407370954752] 146 max_join_size 18446744073709551615 否 [1-18446744073709551615] 147 max_length_for_sort...
本文介绍云数据库 MySQL 版为数据库版本 MySQL 5.7 提供的可修改参数,以及参数的默认值、修改后是否需要重启和取值范围。 序号 参数名 参数默认值 是否需要重启 取值范围 1 auto_increment_increment 1 否 [1-6553... 146 max_execution_time 0 否 [0-4294967295] 147 max_heap_table_size 67108864 否 [16384-1844674407370954752] 148 max_join_size 18446744073709551615 否 [1-18446744073709551615] 149 max_length_for_sort...
1 离线整库同步概述离线整库同步方案,可周期性和一次性将整库表数据同步到目标端,方案类型包括离线整库同步(一次性全量)、离线整库同步(周期性全量)、离线整库同步(一次性增量)、离线整库同步(周期性增量)、离线整库同步(一次性全量周期性增量) 五种类型,您可根据实际场景进行方案配置,助力您将业务数据更高效、更便捷的同步至湖仓一体分析(LAS)中。本文为您介绍通过离线整库同步(一次性全量周期性增量)实践方案,将源端 MySQL 数...
你可能需要使用 MySQL 全文索引 或是自己做一个索引(比如说:搜索关键词或是 Tag 什么的)
# 前言我们通常使用 mysqldumpslow 工具来分析 MySQL 慢日志,这里推荐一个更加完善,输出有用信息更多的工具 pt-query-digest。# 基本用法#### 1. 直接分析慢日志```pt-query-digest rds_slow_query.log >... 同时还有执行时间(exec time) 以及 锁时间(lock time),发送到客户端的行数(Rows sent),扫描的行数(rows examine),以及查询的字符数(query size)```**# Attribute total min max avg 9...
# 前言在 MySQL 中,timestamp 采用 4 字节进行存储,取值范围是 '1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' UTC [1]。如果时间来到 2038 年,而官方没有采取行动,那么 MySQL 将无法正常使用。# 问题复现查看 MySQL PID```shell(base) [root@ip-10-0-0-22 logs]# pidof mysqld8763```查看版本并运行些 SQL 语句```sqlmysql> select version();+------------+| version() |+------------+| 5.7.19-log |+...
因为默认会用到 MySQL 的连接池复用功能,不同语句不能保证一定在同一个连接上执行,所以会导致即使数据成功插入,但是后续查询返回值为 0 的异常。# 问题复现1.模拟批量的插入数据和73924的操作```bashfor i in `seq 10000`;do mysql -h rds-mysql-h2******.rds.ivolces.com -udemo -p******** -e "use dbtest;insert into execution_flows(project_id,version,flow_id,status,submit_user,submit_time,update_time,start_time...