使用 Stopwatch 监控 sql 执行时间 这是我看到的一种模式,感觉挺实用的。可以用于监控任意代码的执行时间,比直接使用 System.currentTimeMillis() 稍微优雅一点点。 Stopwatch 是 guava 包中的工具类。 示例代码如下: log.info("begin to execute sql: {}", sql); Stopwatch stopwatch = Stopwatch.createStarted() Java 桩白墨 2023-06-07 317 热度 0评论
慢 SQL 定位与优化 0 基本思路 基本思路如下: 根据慢日志定位慢查询 sql 使用 explain 等工具分析 sql 修改 sql,尽量让 sql 走索引 下面依次展开。 1 根据慢日志定位慢查询 sql 先来认识一下 mysql 中的几个变量: long_query_time:定义了查询时间超过多少秒,即认为属于慢 sql slow_query_log:一个开关,控制是否记录慢日志 slow_query_log MySQL 桩白墨 2022-07-14 171 热度 0评论
验证 SQL 的排序规则 问题 在 SQL 中,各个字符的排序规则是什么?哪个在前,哪个在后? 例如,我想知道下面这些字符在 SQL 中的顺序,怎么办? 0123ABCDabcd!@#$%^&*()-_+={};:'"\|`~,.<>/? 解决方案 思路:在 MySQL 中创建一张表,只存一列数据,格式为 CHAR(1),然后依次插入上面的字符,再用 SELECT ORDER BY 来查看顺序。 S MySQL 桩白墨 2019-04-28 155 热度 0评论
SQL中的索引(index) sql 中可以为数据列创建索引,具体语法见:http://www.w3school.com.cn/sql/sql_create_index.asp 索引有啥用? 提高 SELECT 语句的查询效率。当 WHERE 条件中包含索引列时,MySQL(以它为例)会根据索引列拿到数据表的子集,然后进行筛选;而不必先查询完整的数据表(当数据量很大时,效率会很低),再进行条件过滤。 注意:索引也有不适用的时候 MySQL 桩白墨 2017-10-23 142 热度 0评论
sql 语法基础(笔记) 主要有两类语句: DDL(数据定义语句) CREATE TABLE/DATABASE ALTER TABLE/DATABASE DROP TABLE/DATABASE DML(数据管理语句) INSERT 新增 DELETE 删除 UPDATE 修改 INSERT 插入 -- 创建并使用数据库 CREATE DATABASE mydatabase USE mydatabase 创建新闻表并插入数据 MySQL 桩白墨 2017-09-08 127 热度 0评论