为什么使用存储过程?
- 存储过程只有在创建的时候进行编译, 以后每次执行存储过程都不需要重新在编译了,一般sql语句每执行一次就编译一次,所以使用存储过程后可提高数据的执行速度。
- 当对数据库进行复杂操作时,可将此复杂操作用存储过程封装起来于数据库提供的数据处理结合一起使用,这些操作,如果用程序来完成就的用sql语句一条条执行可能还要执行多次,而换成存储过程,只需要连接一次数据库据就可以了。
- 存储过程可以重复使用 ,可减少数据库开发人员的工作量。
- 安全性高。可设定只有某此用户才具有对指定存储过程的使用权。
存储过程就是一堆sql的合并, 中间添加了逻辑控制,使用存储过程只要执行一次就可以了。
好处 : 运行效率提高。安全性高。
对sql的优化?
应该考虑 在where 和 order by 上建立索引。
一个表中不索引越多越好, 一个表最多不能超过6个索引, 多的好会影响性能
建立索引的方法:
- 多数查询经常使用的列,
- 很少进行修改操作的列,
- 索引需要建立在数据差异化大的列上。
union 和union All 的区别?
union 是把两表或者是多个表中的结果集展示出来 , 会去掉重复的 ; union All 会把两个或者多个表中的全部展示出来。
top 在sql中用法?
查询出要展示的几行 select top 2 * from table 是展示一个表中前两行的所有字段的数据。