1、查询前五行 sql
mysql: limit
sql server: top
2、查询数据去重
distinct
3、视图是什么,怎么创建,有什么作用
4、索引是什么,怎么创建,有什么作用
5、group by 和having 区别
6、如何创建索引 及创建索引的原则
创建索引语句:单个索引: REATE INDEX mytable_categoryid ON mytable (字段名);
多重索引:CREATE INDEX mytable_categoryid_userid ON mytable (字段名1,字段名2);
唯一索引: unique
外键索引:
主索引:PRIMARY
7、datetime 和timestemp区别
(1)时间限制不一样,前者 1000~9999,后者 1970~2037
(2)存储字节不一样:前者8字节,后者4字节
(3)时区转化,前者与此无关,后者需要转化
(4)默认值,前者无默认值,可通过now()函数插入当前时间,后者有默认值,自动写入当前时间
8、char 和varchar区别
(1)存储速度:前者快,后者慢
(2)存储空间:前者固定长度,后者不固定(值长度+1)
(3)存储空间利用:后者更节约存储空间
9、如何设计数据库表
10、mysql 事物隔离级别
11、mysql 行级锁、页级锁、表级锁
12、怎么查看一个sql语句是否执行了索引 explain sql语句
13、查看数据库索引 show index from 表名
- 在经常用作过滤器的字段上建立索引;
- 在SQL语句中经常进行GROUP BY、ORDER BY的字段上建立索引;
- 在不同值较少的字段上不必要建立索引,如性别字段;
- 对于经常存取的列避免建立索引;
- 用于联接的列(主健/外健)上建立索引;
- 在经常存取的多个列上建立复合索引,但要注意复合索引的建立顺序要按照使用的频度来确定;
- 缺省情况下建立的是非簇集索引,但在以下情况下最好考虑簇集索引,如:含有有限数目(不是很少)唯一的列;进行大范围的查询;充分的利用索引可以减少表扫描I/0的次数,有效的避免对整表的搜索。当然合理的索引要建立在对各种查询的分析和预测中,也取决于DBA的所设计的数据库结构。
14、查看数据库触发器 show triggers like 表名
15、怎么查看数据库的连接数
show processlist 当前用户的线程数 ,默认显示100条。 需显示所有条数 show full processlist
需查询其他指标 可用 show status like "%关键字 %"
16、如何查看sql是否使用索引
explain +sql语句