- mysql主从集群同步延迟问题如何解决?
- mysql为什么不要过多使用join?
- 为什么mysql命中索引比不命中索引要快?
- 为什么使用B+树实现索引,而不是B树/红黑树实现索引?
- B树会将数据保存在内部节点中,B+树内部节点只存储索引项,单个节点能存储更多的索引记录,查询时IO消耗更低
- B+树的数据全部在叶子结点,数据存储会更加集中,顺序以及区间查询更加高效
- 数据量较大时,红黑树深度相比较B+树更深,查询消耗的IO也会相应比较多
- char和varchar的区别?Text和Blob的区别?
- 使用存储过程的优点与缺点?
-
优点:
-
重复使用:存储过程可以重复使用,可以减少开发人员的工作量。
-
提高效率:存储过程在第一次使用的时候会编译,一次编译后以后不用再次编译,提高了效率。
-
减少网络流量:存储过程位于服务器上,调用的时候只需要传递存储过程的名称以及参数就可以了,因此降低了网络传输的数据量。
-
安全性:参数化的存储过程可以防止SQL注入,而且可以将Grant、Deny以及Revoke权限应用于存储过程。
-
缺点:
-
调试麻烦
-
移植性差
-
维护性差
-
存储过程和函数的区别
-
调用方式:存储过程需要使用“CALL”语句进行调用,而函数可以直接在SQL语句中使用,例如SELECT语句。
-
返回结果:存储过程可以返回多个结果集,而函数只能返回单个结果。因此,如果我们需要返回多个结果集时,可以选择使用存储过程。
-
修改数据库:存储过程可以修改数据库中的数据,而函数则不能。
-
出入参:存储过程中可以使用IN、OUT、INOUT三种类型的变量,而函数只能使用IN类型的变量,函数使用RETURN返回结果,有且仅有一个
-
事务支持:存储过程可以使用START TRANSACTION、COMMIT和ROLLBACK等语句来实现事务控制,而函数则不能。
- 使用timestamp有什么注意事项?
- 时间值可以表示的范围:
'1970-01-01 00:00:01'UTC to'2038-01-19 03:14:07'UTC - 时区转化问题:MySQL converts
TIMESTAMPvalues from the current time zone to UTC for storage, and back from UTC to the current time zone for retrieval. (This does not occur for other types such asDATETIME.) By default, the current time zone for each connection is the server's time. The time zone can be set on a per-connection basis. As long as the time zone setting remains constant, you get back the same value you store. If you store aTIMESTAMPvalue, and then change the time zone and retrieve the value, the retrieved value is different from the value you stored. This occurs because the same time zone was not used for conversion in both directions. The current time zone is available as the value of thetime_zonesystem variable. For more information, see Section 5.1.15, “MySQL Server Time Zone Support”. - 使用索引和不使用索引可能查询到不同的值:dev.mysql.com/doc/refman/…
- like中的%有什么作用?
- %是like运算符的一个通配符,可以用来匹配0-任意数量的字符
- like的另外一个通配符是_,可以精确匹配一个字符
- 可以通过\%匹配单个%,通过\_匹配单个_
- mysql中MySQL_fetch_array 和 MySQL_fetch_object的区别?
- mysql中MyISAM存储引擎将数据存储在什么地方?存储格式是什么样子的?
- MYSQL中如何优化DISTINCT?
- MYSQL可以使用多少列创建索引?
- MYSQL中的非标准字符串类型?
- MYSQL如何解决幻读问题?
- MYSQL的事务隔离级别如何理解?
- MYSQL中有关权限的表有哪几个?
- binlog、redolog、undolog的区别?
- 什么情况下设置了索引但是无法使用索引?
- MYSQL中binlog几种方式?有什么区别?
- MYSQL中innodb和MyISAM存储引擎的区别?
- mysql中事务如何实现?如何回滚的?