use case首先看個例子:有個user 表User( username VARCHAR(5) CHARACTER SET utf8COLLATE utf8_general_ci);有記錄('username');和('UserNAme');使用 select * from User where username='username'; 將會選出兩條資料然後將username的COLLATE改為utf8_bin;User( username VARCHAR(5)
1 查看系統支援的儲存引擎show engines;2 查看錶使用的儲存引擎兩種方法:a、show table status from db_name where name='table_name';b、show create table table_name;如果顯示的格式不好看,可以用\g代替行尾分號有人說用第二種方法不準確,我試了下,關閉掉原先預設的Innodb引擎後根本無法執行show create table
平時需要給一些Oracle使用者賦予動態效能檢視的查詢許可權,今天碰到的問題如下:SQL> conn / as sysdbaConnected.SQL> grant select on v$session to hr;grant select on v$session to hr *ERROR at line 1:ORA-02030: can only select
用distinct關鍵字只能過濾查詢欄位中所有記錄相同的(記錄集相同),而如果要指定一個欄位卻沒有效果,另外distinct關鍵字會排序,效率很低 。select distinct name from t1 能消除重複記錄,但只能取一個欄位,現在要同時取id,name這2個欄位的值。select distinct id,name from t1 可以取多個欄位,但只能消除這2個欄位值全部相同的記錄所以用distinct達不到想要的效果,用group by
本篇文章來簡單看下如何使用sql profile來綁定正確的執行計畫,10gR2出現這個功能還是蠻實用的,當然11g可以使用baseline,當然我覺得這兩種都挺好。我們可能經常會遇到一些大表比如上T的,走錯執行計畫,比如全表掃描,那系統基本處於Hang的狀態,那麼這時候收集統計資訊可能會很慢,即使你採樣的比例設定的很小。所以使用profile和baseline是個不錯的選擇。一,建立測試環境SQL> create table test (n number ); Table
動態監聽:Oracle執行個體在啟動時,或使用命令ALTER SYSTEM REGISTER ,或每隔一分鐘,PMON進程會向監聽進行動態註冊,PMON進程根據init.ora中的instance_name,service_names兩個參數將執行個體和服務動態註冊到listener中;oracle監聽器運行後,oracle執行個體在open時,會動態向監聽程式註冊其service_names和instance_name。可以使用show parameter