索引在資料庫中可以提高資料庫的查詢速度,需要占用實際的儲存空間,儲存所有被稱為索引頁。
執行過程:資料庫中如果沒有建立索引,在查詢資料時,會進行權全表掃瞄。建立了索引會更具索引來驚喜資料的檢索效率更加高。
索引分類:
主鍵索引:為資料庫增加了主鍵約束以後就會建立乙個主鍵索引。
1.主鍵索引一張表中只能有乙個
2.主鍵索引決定著資料表的物理順序
3.主鍵索引時所有索引中效率最高的
唯一索引:為資料庫增加了唯一約束後就會建立乙個唯一索引。
1.唯一索引可以有多個
2.唯一索引可以保證資料列的唯一性
3.唯一索引的效率時僅次與主鍵索引的
常規索引:有使用者手動建立,沒有現在
1.常規索引可以有多個
2.常規索引對資料沒有限制
3.常規索引的效率相對較低。
建立乙個常規索引
create index 索引名 on 表(字段)
刪除乙個索引
drop index 索引名 on表名
全文索引:實在大資料量的某個列中查詢指定的資料,類似在一邊文章中查詢某些關鍵字。
1.智慧型用於myisam儲存型別
2.智慧型用於char,varchar,text資料型別
建立乙個全文索引:
alter table person add fulltest(字段)
檢視索引:
show index from 表名
只用索引應該注意的問題:
1.索引建立後,不需要使用者來維護,而是由資料庫自己維護
2.索引的維護需要一
0.前言
某些時候,在使用kettle處理表輸入,表輸出的時候,會因為kettle連線資料庫設定的字元編碼格式不對,導致字元亂碼。
1.解決方法
在命名引數欄填寫:characterencoding,值的那欄寫:utf8
定的成本(犧牲一些增刪改效率)每次執行完增刪改的操作後也會隨之更新。
那些列適合建立索引?
1.頻繁被搜尋的列
2.經超用作查詢的列
3.經常用於分組,排序的列
4.經常使用者連線的列
那些列不適合建立索引?
1.表中資料報含集合不同的值(姓名,名族)
2.表中只存在幾行資料的情況(索引一般在十萬以上才能感受到區別)
查詢中排序的字段不要使用表示式
explain的使用可以幫助我們分析sql語句是否使用索引
explain select * from 表 where 條件
kettle元件 連線
新資料field1,field2 1,1 2,9 5,5 設定 標誌欄位是flag,關鍵字段是 field1,比較欄位是field2 合併後的資料 field1 field2 flag 1 1 identical 2 9 changed 3 3 deleted 4 4 deleted 5 5 new...
kettle 設定變數
以下只是本人在使用過程中一些經驗,可能有誤解不對的地方,希望大家指正。這個控制項可以在job中呼叫,也可以在transformation中使用。下面將分別說明在兩個不同任務中呼叫時的使用方法和需要注意事項。在job中設定變數一般都是設定全域性變數,在不同轉換間使用。首先需要get system in...
vim字元編碼設定
和所有的流行文字編輯器一樣,vim 可以很好的編輯各種字元編碼的檔案,這當然包括ucs 2 utf 8 等流行的 unicode 編碼方式。然而不幸的是,和很多來自 linux 世界的軟體一樣,這需要你自己動手設定。好了,解釋完了這一堆容易讓新手犯糊塗的引數,我們來看看 vim 的多字元編碼方式支援...