一、sql优化面试题及答案
1、Mysql查询是否区分大小写?
不区分SELECTVERSION(),CURRENT_DATE;SeLectversion(),current_date;seleCtvErSiOn(),current_DATE;所有这些例子都是一样的,Mysql不区分大小写。
2、Mysql的技术特点是什么?
Mysql数据库软件是一个客户端或服务器系统,其中包括:支持各种客户端程序和库的多线程SQL服务器、不同的后端、广泛的应用程序编程接口和管理工具。
3、Heap表是什么?
HEAP表存在于内存中,用于临时高速存储。BLOB或TEXT字段是不允许的只能使用比较运算符=,<,>,=>,=<HEAP表不支持AUTO_INCREMENT索引不可为NULL
4、Mysql服务器默认端口是什么?
Mysql服务器的默认端口是3306。
5、与Oracle相比,Mysql有什么优势?
Mysql是开源软件,随时可用,无需付费。Mysql是便携式的带有命令提示符的GUI。使用Mysql查询浏览器支持管理
6、如何区分FLOAT和DOUBLE?
以下是FLOAT和DOUBLE的区别:浮点数以8位精度存储在FLOAT中,并且有四个字节。浮点数存储在DOUBLE中,精度为18位,有八个字节。
7、区分CHAR_LENGTH和LENGTH?
CHAR_LENGTH是字符数,而LENGTH是字节数。Latin字符的这两个数据是相同的,但是对于Unicode和其他编码,它们是不同的。
8、请简洁描述Mysql中InnoDB支持的四种事务隔离级别名称,以及逐级之间的区别?
SQL标准定义的四个隔离级别为:readuncommited:读到未提交数据readcommitted:脏读,不可重复读repeatableread:可重读serializable:串行事物
9、在Mysql中ENUM的用法是什么?
ENUM是一个字符串对象,用于指定一组预定义的值,并可在创建表时使用。Createtablesize(nameENUM('Smail,‘Medium’,‘Large’);
10、如何定义REGEXP?
REGEXP是模式匹配,其中匹配模式在搜索值的任何位置。
二、mysql sql优化面试题
1.在表中建立索引,优先考虑wheregroupby使用到的字段
2.查询时尽量避免使用select*,只查询需要用到的字段
3.避免在where子句中使用关键字两边都是%的模糊查询,尽量在关键字后使用模糊查询
4.尽量避免在where子句中使用IN和NOTIN
优化:能使用between就不用in
在子查询中使用exists子句
关于sql基础面试题及答案,sql的面试基础题的介绍到此结束,希望对大家有所帮助。