日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQLite学习手册(索引和数据分析/清理)

發布時間:2025/3/12 数据库 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQLite学习手册(索引和数据分析/清理) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、創建索引:

?? ?在SQLite中,創建索引的SQL語法和其他大多數關系型數據庫基本相同,因為這里也僅僅是給出示例用法:
?? ?sqlite> CREATE TABLE testtable (first_col integer,second_col integer);
?? ?--創建最簡單的索引,該索引基于某個表的一個字段。
?? ?sqlite> CREATE INDEX testtable_idx ON testtable(first_col);
?? ?--創建聯合索引,該索引基于某個表的多個字段,同時可以指定每個字段的排序規則(升序/降序)。
?? ?sqlite> CREATE INDEX testtable_idx2 ON testtable(first_col ASC,second_col DESC);
?? ?--創建唯一性索引,該索引規則和數據表的唯一性約束的規則相同,即NULL和任何值都不同,包括NULL本身。
?? ?sqlite> CREATE UNIQUE INDEX testtable_idx3 ON testtable(second_col DESC);
?? ?sqlite> .indices testtable
?? ?testtable_idx
?? ?testtable_idx2?? ?
?? ?testtable_idx3
?? ?從.indices命令的輸出可以看出,三個索引均已成功創建。
?? ?
二、刪除索引:

?? ?索引的刪除和視圖的刪除非常相似,含義也是如此,因此這里也只是給出示例:?? ?
?? ?sqlite> DROP INDEX testtable_idx;
?? ?--如果刪除不存在的索引將會導致操作失敗,如果在不確定的情況下又不希望錯誤被拋出,可以使用"IF EXISTS"從句。
?? ?sqlite> DROP INDEX testtable_idx;
?? ?Error: no such index: testtable_idx
?? ?sqlite> DROP INDEX IF EXISTS testtable_idx;

三、重建索引:

?? ?重建索引用于刪除已經存在的索引,同時基于其原有的規則重建該索引。這里需要說明的是,如果在REINDEX語句后面沒有給出數據庫名,那么當前連接下所有Attached數據庫中所有索引都會被重建。如果指定了數據庫名和表名,那么該表中的所有索引都會被重建,如果只是指定索引名,那么當前數據庫的指定索引被重建。
?? ?--當前連接attached所有數據庫中的索引都被重建。
?? ?sqlite> REINDEX;
?? ?--重建當前主數據庫中testtable表的所有索引。
?? ?sqlite> REINDEX testtable;
?? ?--重建當前主數據庫中名稱為testtable_idx2的索引。
?? ?sqlite> REINDEX testtable_idx2;
???
四、數據分析:

?? ?和PostgreSQL非常相似,SQLite中的ANALYZE命令也同樣用于分析數據表和索引中的數據,并將統計結果存放于SQLite的內部系統表中,以便于查詢優化器可以根據分析后的統計數據選擇最優的查詢執行路徑,從而提高整個查詢的效率。見如下示例:
?? ?--如果在ANALYZE命令之后沒有指定任何參數,則分析當前連接中所有Attached數據庫中的表和索引。
?? ?sqlite> ANALYZE;
?? ?--如果指定數據庫作為ANALYZE的參數,那么該數據庫下的所有表和索引都將被分析并生成統計數據。
?? ?sqlite> ANALYZE main;
?? ?--如果指定了數據庫中的某個表或索引為ANALYZE的參數,那么該表和其所有關聯的索引都將被分析。
?? ?sqlite> ANALYZE main.testtable;
?? ?sqlite> ANALYZE main.testtable_idx2;

五、數據清理:

?? ?和PostgreSQL中的VACUUM命令相比,他們的功能以及實現方式非常相似,不同的是PostgreSQL提供了更細的粒度,而SQLite只能將該命令作用于數據庫,無法再精確到數據庫中指定的數據表或者索引,然而這一點恰恰是PostgreSQL可以做到的。
?? ?當某個數據庫中的一個或多個數據表存在大量的插入、更新和刪除等操作時,將會有大量的磁盤空間被已刪除的數據所占用,在沒有執行VACUUM命令之前,SQLite并沒有將它們歸還于操作系統。由于該類數據表中的數據存儲非常分散,因此在查詢時,無法得到更好的批量IO讀取效果,從而影響了查詢效率。
?? ?在SQLite中,僅支持清理當前連接中的主數據庫,而不能清理其它Attached數據庫。VACUUM命令在完成數據清理時采用了和PostgreSQL相同的策略,即創建一個和當前數據庫文件相同大小的新數據庫文件,之后再將該數據庫文件中的數據有組織的導入到新文件中,其中已經刪除的數據塊將不會被導入,在完成導入后,收縮新數據庫文件的尺寸到適當的大小。該命令的執行非常簡單,如:
?? ?sqlite> VACUUM;



總結

以上是生活随笔為你收集整理的SQLite学习手册(索引和数据分析/清理)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲黄a | 亚洲一区二区三区久久久成人动漫 | 久久精品人妻av一区二区三区 | 秋霞成人午夜鲁丝一区二区三区 | 国产麻豆交换夫妇 | 美女超碰| 亚洲国产无线乱码在线观看 | 国产aⅴ精品 | 91视频直接看 | 男女视频免费观看 | 亚洲a网站 | 啦啦啦av| 黄色网在线免费观看 | 国产精品一品二区三区的使用体验 | av网址网站 | 国产色99 | youjizz日本人 | 国产精品国产三级国产传播 | 短篇山村男同肉耽h | 性综合网 | 99热一区二区 | 精品一区二区免费看 | 高清欧美性猛交xxxx黑人猛交 | 久草网在线观看 | 四虎精品一区二区三区 | 激情亚洲视频 | 国产农村妇女精品一区 | 在线免费观看中文字幕 | 艳妇乳肉豪妇荡乳xxx | 亚洲黄色a级片 | 久草视频在线免费 | 五月天六月婷 | 成年人黄色一级片 | 亚洲精品xxx| 精品国产aⅴ麻豆 | 久久精品一日日躁夜夜躁 | 国产自精品 | 麻豆区1免费 | 欧美四级在线观看 | 天天做夜夜爽 | 91情侣视频 | 亚洲福利国产 | 亚洲精品无码一区二区 | 久久黄色小说 | 污视频在线网站 | 日韩欧美视频在线免费观看 | 久久av色| 狠狠操一区二区 | 亚洲欧美日韩精品色xxx | 日本免费福利视频 | 91偷拍精品一区二区三区 | 吻胸摸激情床激烈视频大胸 | 无码人妻精品一区二区三区在线 | 国产精品一区二区人人爽 | 亚洲男女啪啪 | 亚洲福利精品 | 国产日本在线观看 | 麻豆国产视频 | 亚洲熟女少妇一区二区 | 在线步兵区| 欧美国产成人在线 | 妖精视频污 | 成人一二三四区 | 99国产成人精品 | 久久久久久伊人 | 91精产国品一二三区在线观看 | 在线精品亚洲欧美日韩国产 | 国产精品有限公司 | 日本www| 午夜精品成人 | 成人午夜在线观看视频 | 亚洲天堂2013| 国产精品天美传媒入口 | 浪漫樱花动漫在线观看免费 | 亚洲精品在线观看免费 | 怡红院成人影院 | 国产精品对白 | 亚洲精品喷潮一区二区三区 | 麻豆一区产品精品蜜桃的特点 | 狠狠干2019| 精品中文字幕av | 第一毛片| 天天澡天天狠天天天做 | 成人不卡视频 | 三女同志亚洲人狂欢 | 在线视频网站 | 日韩激情影院 | 国产精品久久久久久久久久辛辛 | 国产一级片播放 | 亚洲一区免费 | 国产麻豆a毛片 | 69午夜 | 免费看91视频 | 99久久婷婷国产综合精品草原 | 国产中文字字幕乱码无限 | 日韩人体视频 | 色婷婷中文字幕 | 最新日韩在线视频 | 亚洲日日干 |