1、可以把那些null值設(shè)置成一個(gè)特殊的值,比如"N/A"
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:主機(jī)域名、雅安服務(wù)器托管、營(yíng)銷軟件、網(wǎng)站建設(shè)、嵩縣網(wǎng)站維護(hù)、網(wǎng)站推廣。
2、where nvl(col,0) =0在col字段上創(chuàng)建一個(gè)函數(shù)索引。create index ind_col ontable(nvl(col,0));
這樣就能用索引了。
3、輸入代碼:CREATE?INDEX?INDEX_NAME?ON?TABLE_NAME(COLUMN_NAME)。
4、給一個(gè)表里有的可空字段增加一個(gè)默認(rèn)值alter table? 表名 add? constraint??? itemname? defult(0) for 對(duì)應(yīng)表字段。itemname 為自定義的名稱。
5、給表增加字段,aleter table 表名 add itemname?? int null item name,為字段名
6、更新表字段類型,ALTER?TABLE 表名 ALTER?COLUMN 字段名,新的類型。
創(chuàng)建索引:create
index
emp_id1(索引名)
on
emp(empno,ename,deptno)
;
在創(chuàng)建索引時(shí)需要制定所在的表的列名,即你要在哪個(gè)或者哪些列上創(chuàng)建索引!
使用索引:索引一般是在查詢時(shí)由數(shù)據(jù)庫(kù)優(yōu)化器自動(dòng)進(jìn)行判斷是否使用,就是說就算你在某個(gè)列上創(chuàng)建了索引,當(dāng)你在查詢這個(gè)表時(shí)數(shù)據(jù)庫(kù)也不一定會(huì)使用索引,因?yàn)橛袝r(shí)候需要查詢的范圍比較大,如全表查詢,這時(shí)數(shù)據(jù)庫(kù)優(yōu)化器會(huì)去判斷使用索引和不使用索引哪個(gè)效率高,當(dāng)然是不使用索引效率高啦!所以說一般查詢時(shí)是不要指定索引的,不過索引還是得創(chuàng)建的!
雖說查詢時(shí)不推薦指定索引,但還是可以指定的:SELECT
*
FROM
stuMarks
(INDEX=IX_writtenExam)
WHERE
writtenExam
BETWEEN
60
AND
9
怎樣建立最佳索引? 1、明確地創(chuàng)建索引 create index index_name on table_name(field_name) tablespace tablespace_name pctfree 5 initrans 2 maxtrans 255 storage ( minextents 1 maxextents 16382 pctincrease 0 ); 2、創(chuàng)建基于函數(shù)的索引 常用與UPPER、LOWER、TO_CHAR(date)等函數(shù)分類上,例: create index idx_func on emp(UPPER(ename)) tablespace tablespace_name; 3、創(chuàng)建位圖索引 對(duì)基數(shù)較小,且基數(shù)相對(duì)穩(wěn)定的列建立索引時(shí),首先應(yīng)該考慮位圖索引,例: create bitmap index idx_bitm on class (classno) tablespace tablespace_name; 4、明確地創(chuàng)建唯一索引 可以用create unique index語(yǔ)句來(lái)創(chuàng)建唯一索引,例: create unique index dept_unique_idx on dept(dept_no) tablespace idx_1; 5、創(chuàng)建與約束相關(guān)的索引 可以用using index字句,為與unique和primary key約束相關(guān)的索引,例: alter table table_name add constraint PK_primary_keyname primary key(field_name) using index tablespace tablespace_name; 如何創(chuàng)建局部區(qū)索引? 1)基礎(chǔ)表必須是分區(qū)表 2)分區(qū)數(shù)量與基礎(chǔ)表相同 3)每個(gè)索引分區(qū)的子分區(qū)數(shù)量與相應(yīng)的基礎(chǔ)表分區(qū)相同 4)基礎(chǔ)表的自分區(qū)中的行的索引項(xiàng),被存儲(chǔ)在該索引的相應(yīng)的自分區(qū)中,例如 create index TG_CDR04_SERV_ID_IDX on TG_CDR04(SERV_ID) Pctfree 5 Tablespace TBS_AK01_IDX Storage( MaxExtents 32768 PctIncrease 0 FreeLists 1 FreeList Groups 1 ) local / 如何創(chuàng)建范圍分區(qū)的全局索引? 基礎(chǔ)表可以是全局表和分區(qū)表 create index idx_start_date on tg_cdr01(start_date) global partition by range(start_date) (partition p01_idx vlaues less than ('0106') partition p01_idx vlaues less than ('0111') ... partition p01_idx vlaues less than ('0401')) / 如何重建現(xiàn)存的索引? 重建現(xiàn)存的索引的當(dāng)前時(shí)刻不會(huì)影響查詢 重建索引可以刪除額外的數(shù)據(jù)塊 提高索引查詢效率 alter index idx_name rebuild nologging; 對(duì)于分區(qū)索引 alter index idx_name rebuild partition partition_name nologging; 刪除索引的原因? 1)不再需要的索引 2)索引沒有針對(duì)其相關(guān)的表所發(fā)布的查詢提供所期望的性能改善 3)應(yīng)用沒有用該索引來(lái)查詢數(shù)據(jù) 4)該索引無(wú)效,必須在重建之前刪除該索引 5)該索引已經(jīng)變的太碎了,必須在重建之前刪除該索引 語(yǔ)句: drop index idx_name; drop index idx_name partition partition_name; 建立索引的代價(jià)? 基礎(chǔ)表維護(hù)時(shí),系統(tǒng)要同時(shí)維護(hù)索引,不合理的索引將嚴(yán)重影響系統(tǒng)資源, 主要表現(xiàn)在CPU和I/O上。