page contents
Nen
Nen - 程序员

性别: 天津 - 天津市 注册于 2021-06-23

向TA求助
2850金币数
43180 经验值
1个粉丝
主页被访问 6255 次

3096 个回答

0 赞同

为什么索引没有被使用?

“为什么索引没有被使用”是一个涉及面较广的问题,有多种原因会导致索引不能被使用,下面列出几种常见的场景。 1)若索引列出现了隐式类型转换(Implicit Type Conversion),则MySQL不会使用索引。常见的情况是,如果在SQL的WHERE条件中,字段类型为字符串,而其值为数值,那么MySQL不会使用索引,这个规则和Oracle是一致...

回答于 2022-03-22 14:48

0 赞同

MySQL如何查看执行计划?执行计划中每列的含义分别是什么?

执行计划是SQL语句调优的一个重要依据,MySQL的执行计划查看相对Oracle而言简便了很多,功能也相对简单。MySQL的EXPLAIN命令用于查看SQL语句的查询执行计划(QEP)。从这条命令的输出结果中就能够了解MySQL优化器是如何执行SQL语句的。这条命令虽然并没有提供任何调整建议,但它能够提供重要的信息用来帮助做出调优决策。...

回答于 2022-03-22 14:47

0 赞同

使用show profiIe分析SQL语句性能消耗?

MySQL可以使用profile分析SQL语句的性能消耗情况。例如,查询到SQL会执行多少时间,并显示CPU、内存使用量,执行过程中系统锁及表锁的花费时间等信息。通过have_profiling参数可以查看MySQL是否支持profile,通过profiling参数可以查看当前系统profile是否开启。

回答于 2022-03-22 14:46

0 赞同

MySQL中CHECK、OPTIMIZE和ANALYZE的作用分别是什么?

MySQL中分析表(ANALYZE)的主要作用是分析关键字的分布;检查表(CHECK)的主要作用是检查表是否存在错误;优化表(OPTIMIZE)的主要作用是消除删除或者更新造成的空间浪费。详细信息见下表: 需要注意以下几点: 1)对于InnoDB引擎的表来说,通过设置innodb_file_per_table参数,设置InnoDB为独立表空间模式,这样每个...

回答于 2022-03-22 14:46

0 赞同

如何对MySQL进行优化?

一个成熟的数据库架构并不是一开始设计就具备高可用、高伸缩等特性,它是随着用户量的增加,基础架构才逐渐完善。 1.数据库的设计 1)尽量让数据库占用更小的磁盘空间。 2)尽可能使用更小的整数类型。 3)尽可能地定义字段为NOT NULL,除非这个字段需要NULL。 4)如果没有用到变长字段(例如VARCHAR)的话,那么就采...

回答于 2022-03-22 14:30

0 赞同

如何对SQL语句进行跟踪(trace)?

MySQL 5.6.3提供了对SQL语句的跟踪功能,通过trace文件可以进一步了解优化器是如何选择某个执行计划的,与Oracle的10053事件类似。在使用时需要先打开设置,然后执行一次SQL,最后查看information_schema.optimizer_trace表的内容。需要注意的是,该表为临时表,只能在当前会话进行查询,每次查询返回的都是最近一次执行的S...

回答于 2022-03-22 14:28

0 赞同

MySQL中的隐式类型转换(ImpIicit typeconversion)?

当对不同类型的值进行比较的时候,为了使得这些数值可比较(也可以称为类型的兼容性),MySQL会做一些隐式类型转化(Implicit type conversion)。例如: 很明显,在上面的SQL语句的执行过程中就出现了隐式转化。并且从结果可以判断出,在第一条SQL中,将字符串的“1”转换为数字1,而在第二条的SQL中,将数字2转换为字符串“...

回答于 2022-03-22 14:26

0 赞同

常见的SQL Hint(提示)有哪些?

Oracle的Hint功能种类很多,对于优化SQL语句提供了很多方法。同样,在MySQL里,也有类似的Hint功能,下面介绍一些常用的功能。

回答于 2022-03-22 14:24

0 赞同

如何查看SQL的执行频率?

MySQL客户端连接成功后,可以通过show [session|global]命令查询服务器的状态信息,也可以在操作系统上使用mysqladmin extended-status命令获取这些信息。可以通过查询表的方式来查询状态变量的值,MySQL 5.6查询information_schema.global_status和information_schema.session_status;mySQL 5.7查询performance_schema.gl...

回答于 2022-03-22 14:24

0 赞同

MySQL区分大小写吗?

在MySQL中,一个数据库会对应一个文件夹,数据库里的表会以文件的方式存放在文件夹内,所以,操作系统对大小写的敏感性决定了数据库和表的大小写敏感性。其实,在MySQL中,有一个只读的系统变量“lower_case_file_system”,其值反映的正是当前文件系统是否区分大小写。所以,MySQL在Windows下是不区分大小写的,而在Linux下...

回答于 2022-03-19 14:14