友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
狗狗书籍 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

SQL 21日自学通(V3.0)(PDF格式)-第75章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!






                                   column_name  'ASC  |  DESC'。。。) 



     注意到所有这些解释器有几点是相同的                        它们的基本开始语句都是 



     CREATE INDEX index_name ON table_name (column_name; 。。。) 



     SQL Server 和 ORACLE 允许你创建成簇的索引 这将在稍后讨论 ORACLE 和 Informix 



允许你指明列名是按升序排列还是按降序排列  我们不喜欢听到被打断的声音                                               但是请再 



一次  参考你的数据库管理系统以得到明确的关于 CREATE INDEX 的指示 



     例如  要对 BILLS 表中的 ACCOUNTID 字段创建索引  其 CREATE INDEX 语句如下 



INPUT 



     SQL》 SELECT * FROM BILLS 



OUTPUT 



                                                                                         211 


…………………………………………………………Page 212……………………………………………………………

SQL 21  日自学通(V1。0)                                                             翻译人     笨猪 



               NAME                           AMOUNT        ACCOUNT_ID 



               Phone pany                   125          1 



               Power pany                   75           1 



               Record Club                     25           2 



               Software pany                250          1 



               Cable TV pany                35           3 



               Joe's Car Palace                350          5 



               S。C。 Student Loan               200          6 



               Florida Water pany           20           1 



               U…O…Us Insurance pany        125          5 



               Debtor's Credit Card            35           4 



INPUT/OUTPUT 



     SQL》 CREATE INDEX ID_INDEX ON BILLS( ACCOUNT_ID ); 



     SQL》 SELECT * FROM BILLS 



               NAME                           AMOUNT        ACCOUNT_ID 



               Phone pany                   125          1 



               Power pany                   75           1 



               Software pany                250          1 



               Florida Water pany           20           1 



               Record Club                     25           2 



               Cable TV pany                35           3 



               Debtor's Credit Card            35           4 



               Joe's Car Palace                350          5 



               U…O…Us Insurance pany        125          5 



               S。C。 Student Loan               200          6 



     直至索引被 DROP  INDEX 语句删除之前  BILLS 表是按照 ACCOUNT_ID  的顺序进行 



排序的  DROP INDEX 语句是非常清楚的 



SYNTAX 



     SQL》 DROP INDEX index_name; 



     当索引被删除以后的结果是什么样呢 



INPUT/OUTPUT 



     SQL》 DROP INDEX ID_INDEX 



     Index dropped。 



     SQL》 SELECT * FROM BILLS 



                                                                                        212 


…………………………………………………………Page 213……………………………………………………………

SQL 21  日自学通(V1。0)                                                         翻译人    笨猪 



               NAME                         AMOUNT       ACCOUNT_ID 



               Phone pany                125          1 



               Power pany                75           1 



               Record Club                  25           2 



               Software pany             250          1 



               Cable TV pany             35           3 



               Joe's Car Palace             350          5 



               S。C。 Student Loan            200          6 



               Florida Water pany        20           1 



               U…O…Us Insurance pany     125          5 



               Debtor's Credit Card         35           4 



分析 



    现在的 BILLS 表是它原本的形态                使用索引不会对表中的物理存储造成影响 



    你也许想知道为什么数据库提供了索引而又允许你使用 ORDER BY 子句吧 



INPUT/OUTPUT 



    SQL》 SELECT * FROM BILLS ORDER BY ACCOUNT_ID; 



              NAME                          AMOUNT       ACCOUNT_ID 



               Phone pany                125          1 



               Power pany                75           1 



               Software pany             250          1 



               Florida Water pany        20           1 



               Record Club                  25           2 



               Cable TV pany             35           3 



               Debtor's Credit Card         35           4 



               Joe's Car Palace             350          5 



               U…O…Us Insurance pany     125          5 



               S。C。 Student Loan            200          6 



分析 



    它与使用 ID_INDEX  语句的结果是一样的                   不同之处在于当你使用 ORDER  BY  子句 



时每次运行它都需要重新进行排序                    而当你使用索引的时候              数据库会建立一个物理索引 



对象     就是前边提到的树结构  而在你每次运行查询时都访问同一个索引 



    警告    当表被删除时  所有与表相关的索引也将被删除 



                                                                                   213 


…………………………………………………………Page 214……………………………………………………………

SQL 21  日自学通(V1。0)                               翻译人 笨猪 



使用索引的技巧 



这里给出了几个在使用索引时需要记住的技巧 



l  对于小表来说    使用索引对于性能不会有任何提高 



l  当你的索引列中有极多的不同的数据和空值时索引会使性能有极大的提高 



l  当查询要返回的数据很少时索引可以优化你的查询           比较好的情况是少于全部数据的 



  25%  如果你要返回的数据很多时索引会加大系统开销 



l  索引可以提高数据的返回速度       但是它使得数据的更新操作变慢  在对记录和索引进 



  行更新时请不要忘记这一点       如果要进行大量的更新操作  在你执行更新操作时请不 



  要忘记先删除索引      当执行完更新操作后     只需要简单的恢复索引即可  对于一次特 



  定的操作  系统可以保存删除的索引 18  个小时  在这个时间内数据更新完后你可以恢 
返回目录 上一页 下一页 回到顶部 0 0
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!