今天去面试,面试官问了一个数据库优化查询如何在项目中实现的问题。我做的是SSH的项目,面试官要我结合我的项目答,我可能答的不是太好,我就说了优化SQL语句。不知道各位大哥们,这个题目要如何答才能让面试官满意呢?

解决方案 »

  1.   

    1:返回了不必要的行和列
    2:多用连接查询,尽量减少子查询
    3:增加服务器 CPU个数
    4:创建视图查询
    5:避免或简化排序
    6:避免困难的正规表达式
    7: 不充份的连接条件
    我是这么认为的,仅供参考。
      

  2.   

    建立索引,写比较高效率的sql语句,我个人认为这样。
      

  3.   

    索引是数据库中重要的数据结构,它的根本目的就是为了提高查询效率。现在大多数的数据库产品都采用IBM最先提出的ISAM索引结构。索引的使用要恰到好处,其使用原则如下: ●在经常进行连接,但是没有指定为外键的列上建立索引,而不经常连接的字段则由优化器自动生成索引。 ●在频繁进行排序或分组(即进行group by或order by操作)的列上建立索引。 ●在条件表达式中经常用到的不同值较多的列上建立检索,在不同值少的列上不要建立索引。比如在雇员表的“性别”列上只有“男”与“女”两个不同值,因此就无必要建立索引。如果建立索引不但不会提高查询效率,反而会严重降低更新速度。 ●如果待排序的列有多个,可以在这些列上建立复合索引(compound index)。 ●使用系统工具。如Informix数据库有一个tbcheck工具,可以在可疑的索引上进行检查。在一些数据库服务器上,索引可能失效或者因为频繁操作而使得读取效率降低,如果一个使用索引的查询不明不白地慢下来,可以试着用tbcheck工具检查索引的完整性,必要时进行修复。另外,当数据库表更新大量数据后,删除并重建索引可以提高查询速度。