2021-06-01から1ヶ月間の記事一覧

truncateとdeleteの比較

DB

MySQL (8.0.22) drop tablespace tbs1;create tablespace tbs1 add datafile 'tbs1.ibd' engine=innodb; drop table tab1;create table tab1(col1 int primary key, col2 varchar(1000)) tablespace tbs1;create index ind1 on tab1(col1); select space,nam…

セッションスキーマ変更

DB

MySQL MySQLにはスキーマの概念なし Oracle (19c) select sys_context('userenv','current_schema') from dual; alter session set current_schema = SCHEMA1;alter session set current_schema = TEST; PostgreSQL (13) show search_path; set search_path …

ページ数確認

DB

MySQL (8.0.22)https://gihyo.jp/dev/serial/01/mysql-road-construction-news/0056 drop table tab1;create table tab1(col1 int,col2 varchar(8000)); insert into tab1 values(1,rpad('x',8000,'x') ); select col1,col2,char_length(col2),length(col2) …

実行計画のキャッシュ有無

DB

MySQL (8.0.22)https://sikushima.hatenablog.com/entry/2019/04/10/181921 キャッシュされない模様。 SET optimizer_trace="enabled=on";SET optimizer_trace_max_mem_size = 1048576;select count(*) from tab1 a,tab1 b,tab1 c;select * from information…

プロシージャ内でのロール権限

DB

MySQL (8.0.22) drop user 'user60'@'%';create user 'user60'@'%' identified by 'user60'; drop role role1;create role role1; grant select on test.tab1 to role1;grant create routine on test.* to role1;grant alter routine on test.* to role1;gra…

オプティマイザの結合順評価テーブル数上限

DB

MySQL (8.0.22) https://dev.mysql.com/doc/refman/5.6/ja/controlling-query-plan-evaluation.html optimizer_search_depth→オプティマイザで結合順を評価するテーブル数の上限デフォルト62 Oracle (19c)https://blogs.oracle.com/otnjp/tsushima-hakushi-24…