- M-1.查看sql语句的运行时间
- M-2.查看数据库有多少个服务连接
- M-3.数据类型的介绍和使用
- M-4.索引的使用
- M-5.mysql锁机制
- 1、MySQL 中有哪几种锁?
- 2、MySQL 中有哪些不同的表格?
- 3、简述在MySQL 数据库中 MyISAM 和InnoDB 的区别
- 4、MySQL 中InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?SQL 标准定义的四个隔离级别为:
- 5、CHAR 和VARCHAR 的区别?
- 6、主键和候选键有什么区别?
- 7、myisamchk 是用来做什么的?
- 8、如果一个表有一列定义为TIMESTAMP,将发生什么?
- 9、你怎么看到为表格定义的所有索引?
- 11、列对比运算符是什么?
- 12、BLOB 和TEXT 有什么区别?
- 13、MySQL_fetch_array 和MySQL_fetch_object 的区别是什么?
- 14、MyISAM 表格将在哪里存储,并且还提供其存储格式?
- 15、MySQL 如何优化DISTINCT?
- 16、如何显示前 50 行?
- 17、可以使用多少列创建索引?
- 18、NOW()和 CURRENT_DATE()有什么区别?
- 19、什么是非标准字符串类型?
- 20、什么是通用 SQL 函数?
- 21、MySQL 支持事务吗?
- 22、MySQL 里记录货币用什么字段类型好
- 23、MySQL 有关权限的表都有哪几个?
- 24、列的字符串类型可以是什么?
- 25、MySQL 数据库作发布系统的存储,一天五万条以上的增量, 预计运维三年,怎么优化?
- 26、锁的优化策略
- 27、索引的底层实现原理和优化
- 28、什么情况下设置了索引但无法使用
- 29、实践中如何优化 MySQL
- 30、优化数据库的方法
- 31、简单描述 MySQL 中,索引,主键,唯一索引,联合索引
- 32、数据库中的事务是什么?
- 33、SQL 注入漏洞产生的原因?如何防止?
- 34、为表中得字段选择合适得数据类型
- 35、存储时期
- 36、对于关系型数据库而言,索引是相当重要的概念,请回答
- 37、解释 MySQL 外连接、内连接与自连接的区别
- 38、Myql 中的事务回滚机制概述
- 39、SQL 语言包括哪几部分?每部分都有哪些 *** 作关键字?
- 40、完整性约束包括哪些?
- 41、一张表,里面有 ID 自增主键,当 insert 了 17 条记录之后, 删除了第 15,16,17 条记录,再把 Mysql 重启,再 insert 一条记 录,这条记录的 ID 是 18 还是 15 ?
- 42、Mysql 的技术特点是什么?
- 43、Heap 表是什么?
- 44、Mysql 服务器默认端口是什么?
- 45、与 Oracle 相比,Mysql 有什么优势?
- 46、如何区分 FLOAT 和 DOUBLE?
- 47、区分 CHAR_LENGTH 和 LENGTH?
- 48、请简洁描述 Mysql 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?
- 49、在 Mysql 中 ENUM 的用法是什么?
- 50、如何定义 REGEXP?
- 51、CHAR 和 VARCHAR 的区别?
- 52、列的字符串类型可以是什么?
- 53、如何获取当前的 Mysql 版本?
- 54、Mysql 中使用什么存储引擎?
- 55、Mysql 驱动程序是什么?
- 56、TIMESTAMP 在 UPDATe CURRENT_TIMESTAMP 数据类型上做什么?
- 57、主键和候选键有什么区别?
- 58、如何使用 Unix shell 登录 Mysql?
- 59、myisamchk 是用来做什么的?
- 60、MYSQL 数据库服务器性能分析的方法命令有哪些?
- 61、如何控制 HEAP 表的最大尺寸?
- 62、MyISAM Static 和 MyISAM Dynamic 有什么区别?
- 63、federated 表是什么?
- 64、如果一个表有一列定义为 TIMESTAMP,将发生什么?
- 65、列设置为 AUTO INCREMENT 时,如果在表中达到最大值,会发生什么情况?
- 66、怎样才能找出最后一次插入时分配了哪个自动增量?
- 67、你怎么看到为表格定义的所有索引?
- 68、LIKE 声明中的%和_是什么意思?
- 69、如何在 Unix 和 Mysql 时间戳之间进行转换?
- 70、列对比运算符是什么?
- 71、我们如何得到受查询影响的行数?
- 72、Mysql 查询是否区分大小写?
- 73、LIKE 和 REGEXP *** 作有什么区别?
- 74、BLOB 和 TEXT 有什么区别?
- 75、mysql_fetch_array 和 mysql_fetch_object 的区别是什么?
- 76、我们如何在 mysql 中运行批处理模式?
- 77、MyISAM 表格将在哪里存储,并且还提供其存储格式?
- 78、Mysql 中有哪些不同的表格?
- 79、ISAM 是什么?
- 80、InnoDB 是什么?
- 81、Mysql 如何优化 DISTINCT?
- 82、如何输入字符为十六进制数字
- 83、如何显示前 50 行?
- 84、可以使用多少列创建索引?
- 85、NOW()和 CURRENT_DATE()有什么区别?
- 86、什么样的对象可以使用 CREATE 语句创建?
- 87、Mysql 表中允许有多少个 TRIGGERS?
- 88、什么是非标准字符串类型?
- 89、什么是通用 SQL 函数?
- 90、解释访问控制列表
- 91、MYSQL 支持事务吗?
- 92、mysql 里记录货币用什么字段类型好
- 93、MYSQL 数据表在什么情况下容易损坏?
- 94、mysql 有关权限的表都有哪几个?
- 96、唯一索引比普通索引快吗, 为什么
- 97、MySQL由哪些部分组成, 分别用来做什么
- 98、MySQL查询缓存有什么弊端, 应该什么情况下使用, 8.0版本对查询缓存有什么变更
- 99、MyISAM和InnoDB**的区别有哪些
- 100、MySQL怎么恢复半个月前的数据
- 101、MySQL事务的隔离级别, 分别有什么特点
- 102、做过哪些MySQL索引相关优化
- 103、简要说一下数据库范式
- 104、一千万条数据的表, 如何分页查询
- 105、订单表数据量越来越大导致查询缓慢, 如何处理
1:开启 set profiling=1;
2:执行sql
3:查看运行时间 show profiles;
4:查看具体运行时间 show profile for query 2;(2指的是Query_Id, 如果没有for query 2 则查询最近的一条sql语句执行时间)
后面还可以加具体的参数,例如 show profile cpu query 2
(PS : 数据库默认开启performance_schema,使用show datebases; 语句可以看到这个表)
show processlist;
1:尽量选择满足需求的最小数据类型(INET_ATON(‘ip’) 转整型,INET_NTOA(整型)转回去)
utf8mb4
适当的数据冗余
2:回表
3:覆盖索引
4:最左匹配(组合索引,在单独创建一个索引)
5:索引下推
如果存储引擎是memory的话,使用的格式就是hash索引
每一次的节点都会产生io
如果使用平衡二叉树,就会自旋,这个自旋浪费时间(因为最短子树和最长子树的差不能超过1),而且树也会越来越深
1、表级锁: 开销小, 加锁快; 不会出现死锁; 锁定粒度大, 发生锁冲突的概率最高, 并发度最低。
2、行级锁: 开销大, 加锁慢; 会出现死锁; 锁定粒度最小, 发生锁冲突的概率最低, 并发度也最高。
3、页面锁: 开销和加锁时间界于表锁和行锁之间; 会出现死锁; 锁定粒度界于表锁和行锁之间, 并发度一般。
共有 5 种类型的表格: 1 、 MyISAM2 、 Heap 3 、 Merge 4 、 INNODB 5 、 MISAM
3、简述在MySQL 数据库中 MyISAM 和InnoDB 的区别 4、MySQL 中InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?SQL 标准定义的四个隔离级别为:1、read uncommited : 读到未提交数据
2、read committed: 脏读, 不可重复读
3、repeatable read: 可重读
4、serializable : 串行事物
1、CHAR 和 VARCHAR 类型在存储和检索方面有所不同
2、CHAR 列长度固定为创建表时声明的长度, 长度值范围是 1 到 255 当 CHAR 值被存储时, 它们被用空格填充到特定长度, 检索 CHAR 值时需删除尾随空格。
表格的每一行都由主键唯一标识,一个表只有一个主键。
主键也是候选键。按照惯例, 候选键可以被指定为主键, 并且可以用于任何外键引用。
在 SELECT 语句的列比较中使用 = , <> , <= , < , > = , > , << , >> , <=> , AND , OR 或 LIKE 运算符。
12、BLOB 和TEXT 有什么区别? 13、MySQL_fetch_array 和MySQL_fetch_object 的区别是什么? 14、MyISAM 表格将在哪里存储,并且还提供其存储格式? 15、MySQL 如何优化DISTINCT? 16、如何显示前 50 行?在 MySQL 中, 使用以下代码查询显示前 50 行: SELECT*FROM TABLE LIMIT 0,50;
17、可以使用多少列创建索引?任何标准表最多可以创建 16 个索引列。
18、NOW()和 CURRENT_DATE()有什么区别?NOW () 命令用于显示当前年份, 月份, 日期, 小时, 分钟和秒。 CURRENT_DATE () 仅显示当前
年份, 月份和日期。
1、TINYTEXT
2、TEXT
3、MEDIUMTEXT
4、LONGTEXT
1、CONCAt(A, B) – 连接两个字符串值以创建单个字符串输出。通常用于将两个或多个字段合并为一个字段。
2、FORMAT(X, D)- 格式化数字 X 到 D 有效数字。
3、CURRDATE(), CURRTIME()- 返回当前日期或时间。
4、NOW() – 将当前日期和时间作为一个值返回。
5、MONTH(), DAY( ), YEAR(), WEEK(), WEEKDAY() – 从日期值中提取给定数据。
6、HOUR(), MINUTE(), SECOND() – 从时间值中提取给定数据。
7、DATEDIFF( A, B) – 确定两个日期之间的差异, 通常用于计算年龄
8、SUBTIMES( A, B) – 确定两次之间的差异。
9、FROMDAYS( INT) – 将整数天数转换为日期值。
MySQL 服务器通过权限表来控制用户对数据库的访问, 权限表存放在 MySQL 数据库里,由
MySQL_install_db 脚本初始化。这些权限表分别 user,db,table_priv, columns_priv 和 host 。
字符串类型是:
1、SET
2、BLOB
3、ENUM
4、CHAR
5、TEXT
Mysql 数据库软件是一个客户端或服务器系统,其中包括:支持各种客户端程序和库的多线程 SQL 服务器、不同的后端、广泛的应用程序编程接口和管理工具。
43、Heap 表是什么? 44、Mysql 服务器默认端口是什么?Mysql 服务器的默认端口是 3306。
45、与 Oracle 相比,Mysql 有什么优势? 46、如何区分 FLOAT 和 DOUBLE? 47、区分 CHAR_LENGTH 和 LENGTH? 48、请简洁描述 Mysql 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别? 49、在 Mysql 中 ENUM 的用法是什么?ENUM 是一个字符串对象,用于指定一组预定义的值,并可在创建表时使用。
Create table size(name ENUM('Smail,‘Medium’,‘Large’);
REGEXP 是模式匹配,其中匹配模式在搜索值的任何位置。
51、CHAR 和 VARCHAR 的区别? 52、列的字符串类型可以是什么? 53、如何获取当前的 Mysql 版本?SELECt VERSION();用于获取当前 Mysql 的版本。
54、Mysql 中使用什么存储引擎? 55、Mysql 驱动程序是什么? 56、TIMESTAMP 在 UPDATE CURRENT_TIMESTAMP 数据类型上做什么?创建表时 TIMESTAMP 列用 Zero 更新。只要表中的其他字段发生更改,UPDATE CURRENT_TIMESTAMP 修饰符就将时间戳字段更新为当前时间。
57、主键和候选键有什么区别?表格的每一行都由主键唯一标识,一个表只有一个主键。
主键也是候选键。按照惯例,候选键可以被指定为主键,并且可以用于任何外键引用。
它用来压缩 MyISAM 表,这减少了磁盘或内存使用。
60、MYSQL 数据库服务器性能分析的方法命令有哪些? 61、如何控制 HEAP 表的最大尺寸?Heal 表的大小可通过称为 max_heap_table_size 的 Mysql 配置变量来控制。
62、MyISAM Static 和 MyISAM Dynamic 有什么区别? 63、federated 表是什么?federated 表,允许访问位于其他服务器数据库上的表。
64、如果一个表有一列定义为 TIMESTAMP,将发生什么?每当行被更改时,时间戳字段将获取当前时间戳。
65、列设置为 AUTO INCREMENT 时,如果在表中达到最大值,会发生什么情况?它会停止递增,任何进一步的插入都将产生错误,因为密钥已被使用。
66、怎样才能找出最后一次插入时分配了哪个自动增量?LAST_INSERT_ID 将返回由 Auto_increment 分配的最后一个值,并且不需要指定表名称。
67、你怎么看到为表格定义的所有索引?索引是通过以下方式为表格定义的:
SHOW INDEX FROM ;
%对应于 0 个或更多字符,_只是 LIKE 语句中的一个字符。
69、如何在 Unix 和 Mysql 时间戳之间进行转换?UNIX_TIMESTAMP 是从 Mysql 时间戳转换为 Unix 时间戳的命令
FROM_UNIXTIME 是从 Unix 时间戳转换为 Mysql 时间戳的命令
在 SELECt 语句的列比较中使用=,<>,<=,<,> =,>,<<,>>,<=>,AND,OR 或LIKE 运算符。
71、我们如何得到受查询影响的行数?行数可以通过以下代码获得:
SELECT COUNT(user_id)FROM users;
不区分
SELECT VERSION(), CURRENT_DATE;
SeLect version(), current_date;
seleCt vErSiOn(), current_DATE;
所有这些例子都是一样的,Mysql 不区分大小写。
ISAM 简称为索引顺序访问方法。它是由 IBM 开发的,用于在磁带等辅助存储系统上存储和检索数据。
80、InnoDB 是什么?lnnoDB 是一个由 Oracle 公司开发的 Innobase Oy 事务安全存储引擎。
81、Mysql 如何优化 DISTINCT? 82、如何输入字符为十六进制数字 83、如何显示前 50 行? 84、可以使用多少列创建索引?任何标准表最多可以创建 16 个索引列。
85、NOW()和 CURRENT_DATE()有什么区别? 86、什么样的对象可以使用 CREATE 语句创建? 87、Mysql 表中允许有多少个 TRIGGERS? 88、什么是非标准字符串类型? 89、什么是通用 SQL 函数? 90、解释访问控制列表 91、MYSQL 支持事务吗? 92、mysql 里记录货币用什么字段类型好 93、MYSQL 数据表在什么情况下容易损坏?服务器突然断电导致数据文件损坏。
强制关机,没有先关闭 mysql 服务等。
通过整库备份 +binlog 进行恢复 . 前提是要有定期整库备份且保存了 binlog 日志 .
101、MySQL事务的隔离级别, 分别有什么特点 102、做过哪些MySQL索引相关优化尽量使用主键查询: 聚簇索引上存储了全部数据, 相比普通索引查询, 减少了回表的消耗.
MySQL5.6之后引入了索引下推优化, 通过适当的使用联合索引, 减少回表判断的消耗.
若频繁查询某一列数据, 可以考虑利用覆盖索引避免回表.
联合索引将高频字段放在最左边
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)