--追蹤檔案讀入到表中分析SELECT * INTO ZGSJYFROM fn_trace_gettable('E:\wxxcdbprofiler.trc', default);--某時間內,最耗時SQLselect TOP 100 SUBSTRING(Textdata,1,660) as '名稱',count(*) as '數量', sum(duration/1000) as '總執行時間ms', avg(duration/1000) as '平均執行時間ms',
1. delimiterdelimiter是mysql分隔字元,在mysql用戶端中分隔字元預設是分號(;)。如果一次輸入的語句較多,並且語句中間有分號,這時需要新指定一個特殊的分隔字元。2. delimiter使用在前一篇中有設定mysql的觸發器時使用例子mysql> delimiter //mysql> create trigger upd_check before update on account -> for each row -> begin
1. 內串連(InnerJoin)內串連是最常見的一種串連,它頁被稱為普通串連,而E.FCodd最早稱之為自然串連。下面是ANSI SQL-92標準select * from t_institution i inner join t_teller t on i.inst_no = t.inst_nowhere i.inst_no = "5801"其中inner可以省略。等價於早期的串連文法select * from
一、問題引出① 假設噹噹網上使用者下單買了本書,這時資料庫中有條訂單號為001的訂單,其中有個status欄位是’有效’,表示該訂單是有效;② 後台管理員查詢到這條001的訂單,並且看到狀態是有效;③ 使用者發現下單的時候下錯了,於是撤銷訂單,假設運行這樣一條SQL: update order_table set status = ‘取消’ where order_id = 001;④
1. IS NULL 與 IS NOT NULL 不能用null作索引,任何包含null值的列都將不會被包含在索引中。即使索引有多列這樣的情況下,只要這些列中有一列含有null,該列就會從索引中排除。也就是說如果某列存在空值,即使對該列建索引也不會提高效能。 任何在where子句中使用is null或is not null的語句最佳化器是不允許使用索引的。2. 避免使用不相容的資料類型。
1、能用DISTINCT的就不用GROUP BY SELECT OrderID FROM Details WHERE UnitPrice > 10 GROUP BY OrderID 可改為: SELECT DISTINCT OrderID FROM Details WHERE UnitPrice > 10 2.能用UNION ALL就不要用UNION UNION ALL不執行SELECT
1. TRIGGER簡介trigger是mysql的觸發器,當建立觸發器時,會監控特定的事件,當觸發時會啟用物件,處理trigger_stmt,即要執行的語句。比如表的新增一條記錄時,你需要更新記錄的值得總和,則可以用trigger來實現。2. Trigger建立語句CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_stmt
ORA-01925:maximum of 80 enabled roles exceededmax_enabled_roles 9i的參數,10g及以後都不用了。指定使用者session的最大enabled roles數。MAX_ENABLED_ROLES specifies the maximum number of database roles that users can enable, including roles contained within other roles.
---建立表create table TESTTABLE( id1 VARCHAR2(12), name VARCHAR2(32))select t.id1,t.name from TESTTABLE tinsert into TESTTABLE (ID1, NAME)values ('1', 'zhangsan');insert into TESTTABLE (ID1, NAME)values ('2', 'lisi');insert into