公告:欢迎访问,查看更多资源请点我^.^!            点我关闭广告
面试题~数据库
2017-12-01 10:30:43
705人阅读
评论(2)
分类:数据库

1. 数据库的优化方案

    1)创建和优化索引

        创建索引

        复合索引

        使用短索引

        排序的索引问题

    2)优化sql语句

        like语句的优化

        使用连接(JOIN)来代替子查询

        不要在列上进行运算

        不使用NOT IN和<>操作

    3)优化硬件和网络

    4)通过缓存减轻数据库的压力

     

2. 写出复制表(只复制表结构,源表明:A,新表名:B)的sql语句

    法一:select * into b from a where 1$amp;

    法二:select top 0 * into b from a;

     

3. 写出复制表(拷贝数据,源表明:A,新表名:B)的sql语句

    insert into b(a, b, c) select d,e,f from a;

     

4. 简述不同数据库分页语句的用法

    1). MySQL的分页:

    select * from table_name limit(pageNum-1)*pageSize,pageNum*pageSize;

    2). SQLServer的分页:

    select top pageSize * from tabe_name where id not in (select top (pageNum-1)*pageSize id from table_name); 

    3). Oracle的分页:

    //pageNum:当前页,pageSize:一页的记录数

    select * from (select t.*,rownum rn from (select * from tb_users) t) where rn > (pageNum-1)*pageSize and rn <= pageNum*pageSize;

    注意:rownum分页时必须重新命名。

  

5.  Preparedstatement和statement的区别    

    1>. Prepared statement是预编译的,而statement不是,在每次执行sql语句的增删改时,如果是一条数据两者没差距,但如果数据量大于1,那么每次执行sql语句statement都要重新编译一次,而Prepared statement不用,Prepared statement的运行效率大于statement

    2>. 从代码的可维护性和可读性来说,虽然用Prepared statement来代替statement会使代码多出几行,但这样的代码无论从可读性还是可维护性来说,都比直接使用statement的代码高很多档次;

    3>. 最重要的一点,从安全角度来说,使用Prepared statement可以大大提高程序的安全性因为Prepared statement是用‘?’传参,可以防止sql注入,具有安全性,而statement用的是‘+’字符串拼接,安全性较低 。  

 


分享一下:
赞一下(3)
博主资料
博主头像
zc521106
文章:34
浏览:19899
文章分类
Java(12)
NoSql(112)
数据库(12)
前端(12)
阅读排行
Java基础知识
(12)
NoSql应用
(112)
数据库Oracle语法
(12)
前端常用工具类
(12)
java web项目
(12)
linux安装mysql
(12)
评论区
这篇文章怎么样?写点评论吧!
姓名:
邮箱:
有回复时通知我:
发表
回复【10.20.30.32】:
可以
2018-06-01 21:35:47
还有 数据库的三范式、数据库的事务隔离级别等
2018-03-18 21:23:23
* 以上用户言论只代表其个人观点,不代表iBlog网站的观点或立场,如有任何疑问请随时联系管理员...