根據(jù)索引找到該索引的所有字段
創(chuàng)新互聯(lián)公司于2013年創(chuàng)立,公司以網(wǎng)站制作、網(wǎng)站設(shè)計、系統(tǒng)開發(fā)、網(wǎng)絡(luò)推廣、文化傳媒、企業(yè)宣傳、平面廣告設(shè)計等為主要業(yè)務(wù),適用行業(yè)近百種。服務(wù)企業(yè)客戶近千家,涉及國內(nèi)多個省份客戶。擁有多年網(wǎng)站建設(shè)開發(fā)經(jīng)驗。為企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、創(chuàng)意設(shè)計、宣傳推廣等服務(wù)。 通過專業(yè)的設(shè)計、獨特的風(fēng)格,為不同客戶提供各種風(fēng)格的特色服務(wù)。
假如有 A 表
有 ID,C1,C2,C3 4個字段。
ID上建有索引。
那么對于索引的存儲結(jié)構(gòu)來說, 包含2個部分,一個是索引包含的數(shù)據(jù),也就是 ID 的數(shù)字,一個是 索引所在行的 物理地址 (ROWID)
當 SELECT * FROM A WHERE id = 1 的時候。
首先通過索引,檢索到 行的物理地址,
然后通過行的物理地址,讀取到 C1,C2,C3的數(shù)據(jù)。
假如SQL是 SELECT Count(1) FROM A WHERE id = 1 的時候。
數(shù)據(jù)庫在讀取完索引以后, 發(fā)現(xiàn)不需要讀取物理行的信息( 因為 select 里面,沒有其他字段), 那么就直接返回了。
數(shù)據(jù)庫實例名稱為orcl的話, 方法一: windows系統(tǒng)可以查看windows服務(wù),如OracleServiceORCL 方法二: 查看安裝目錄下相應(yīng)目錄名稱,如:D:\app\oracle\admin\orcl 方法三: 使用oracle net manager工具查看。
1、MySQL數(shù)據(jù)庫查詢帶有某個字段的所有表名:
SELECT * FROM information_schema.columns WHERE column_name='column_name';
2、Oracle數(shù)據(jù)庫查詢帶有某個字段的所有表名:
SELECT column_name,table_name FROM user_tab_columns WHERE column_name='column_name';
3、SQLServer數(shù)據(jù)庫查詢帶有某個字段的所有表名:
SELECT [name] FROM [庫名].[dbo].sysobjects WHERE id IN (SELECT id FROM [庫名].[dbo].syscolumns WHERE name = '字段名')
4、然后這樣就完成了。
1、查詢Oracle Server端的字符集:
有很多種方法可以查出oracle server端的字符集,比較直觀的查詢方法是以下這種:
SQLselect userenv(‘language’) from dual;
結(jié)果如下:AMERICAN _ AMERICA. ZHS16GBK。
2、查詢dmp文件的字符集:
用Oracle的exp工具導(dǎo)出的dmp文件也包含了字符集信息,dmp文件的第2和第3個字節(jié)記錄了dmp文件的字符集。如果dmp文件不大,比如只有幾M或幾十M,可以用UltraEdit打開(16進制方式),看第2第3個字節(jié)的內(nèi)容,如0354,然后用以下SQL查出它對應(yīng)的字符集:
SQL select nls_charset_name(to_number('0354','xxxx')) from dual;
ZHS16GBK
3、查詢Oracle client端的字符集:
這個比較簡單。在Windows平臺下,就是注冊表里面相應(yīng)OracleHome的NLS_LANG。還可以在Dos窗口里面自己設(shè)置,比如:
set nls_lang=AMERICAN_AMERICA.ZHS16GBK
如果檢查的結(jié)果發(fā)現(xiàn)Server端與Client端字符集不一致,請統(tǒng)一修改為同Server端相同的字符集。