测试开发面试集锦-数据库方面(搬运)

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语句 

猜你喜欢

转载自www.cnblogs.com/Dovegege/p/8909808.html
今日推荐