日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

对Oracle中索引叶块分裂而引起延迟情况的测试和分析

發布時間:2023/11/27 生活经验 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 对Oracle中索引叶块分裂而引起延迟情况的测试和分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在版本10.2.0.4未打上相關one-off補丁的情況下,分別對ASSM和MSSM管理模式表空間進行索引分裂測試,經過測試的結論如下: l? 在10gr2版本中MSSM方式是不能避免索引分裂引起交易超時問題; l? 10.2.0.4上的one-off補丁因為目前僅存在Linux版本,可以考慮聲請補丁后具體測試(因目前沒有補丁所以處于未知狀態)。 l? 合并索引是目前最具可行性的解決方案(alter index coalesce)。 l? 最新的11gr2中經測試仍存在該問題。 具體測試過程如下: 1.? ? 自動段管理模式下的索引塊分裂
SQL> drop tablespace idx1 including contents and datafiles; Tablespace dropped. SQL> create tablespace idx1 datafile '?/dbs/idx1.dbf' size 500M 2? segment space management AUTO 3? extent management local uniform size 10M; --創建自動段管理的表空間 Tablespace created. SQL> create table idx1(a number) tablespace idx1; Table created. create index idx1_idx on idx1 (a) tablespace idx1 pctfree 0; Index created.???????? -- 創建實驗對象表及索引 SQL> insert into idx1 select rownum from all_objects, all_objects where rownum <= 250000;?????????? -- 插入25萬條記錄 250000 rows created. SQL> commit; Commit complete. SQL>create table idx2 tablespace idx1 as select * from idx1 where 1=2; Table created. insert into idx2 select * from idx1 where rowid in (select rid from (select rid, rownum rn from (select rowid rid from idx1 where a between 10127 and 243625 order by a)??????????????????? --取出后端部分記錄,即每250條取一條 ) where mod(rn, 250) = 0 ) / 933 rows created. SQL> commit; Commit complete. SQL> analyze index idx1_idx validate structure; --分析原索引 select blocks,lf_blks,del_lf_rows from index_stats; Index analyzed. SQL> BLOCKS??? LF_BLKS DEL_LF_ROWS ---------- ---------- ----------- 1280??????? 499?????????? 0??? ???????????-- 未刪除情況下499個葉塊 SQL> delete from idx1 where a between 10127 and 243625;???????????????????????????? -- 大量刪除 commit; 233499 rows deleted. SQL> SQL> Commit complete. SQL> analyze index idx1_idx validate structure; select blocks,lf_blks,del_lf_rows from index_stats; Index analyzed. SQL> BLOCKS??? LF_BLKS DEL_LF_ROWS ---------- ---------- ----------- 1280??????? 499????? 233499??????????? -- 刪除后葉塊數量不變 SQL> insert into idx1 select * from idx2;?????????????????? -- 令那些empty 不再empty,但每個塊中只有一到二條記錄,空閑率仍為75-100% commit; 933 rows created. Commit complete. SQL> insert into idx1 select 250000+rownum from all_objects where rownum <= 126;????????? -- 造成leaf塊分裂前提 SQL> select ss.value,sy.name from v$sesstat ss ,v$sysstat sy where ss.statistic#=sy.statistic# and name like '%split%'? and sid=(select distinct sid from v$mystat); VALUE NAME ---------- ---------------------------------------------------------------- 997 leaf node splits 997 leaf node 90-10 splits 0 branch node splits 0 queue splits???????????????? --找出當前會話目前的葉塊分裂次數 SQL>insert into idx1 values (251000);??????????????????????????????????????? -- 此處確實葉塊分裂 1 row created. SQL> commit; Commit complete. SQL> select ss.value,sy.name from v$sesstat ss ,v$sysstat sy where ss.statistic#=sy.statistic# and name like '%split%'? and sid=(select distinct sid from v$mystat); VALUE NAME ---------- ---------------------------------------------------------------- 998 leaf node splits 998 leaf node 90-10 splits 0 branch node splits 0 queue splits???????? -- 可以看到對比之前的查詢多了一個葉塊分裂 SQL> set linesize 200 pagesize 1500; SQL> select? executions, buffer_gets, disk_reads, cpu_time, elapsed_time, rows_processed, sql_text from v$sql 2? where sql_text like '%insert%idx1%' and sql_text not like '%v$sql%'; EXECUTIONS BUFFER_GETS DISK_READS?? CPU_TIME ELAPSED_TIME ROWS_PROCESSED ---------- ----------- ---------- ---------- ------------ -------------- SQL_TEXT -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 1??????? 1603????????? 0???? 271601?????? 271601??????????? 933 insert into idx2 select * from idx1 where rowid in (select rid from (select rid, rownum rn from (select rowid rid from idx1 where a between 10127 and 243625 order by a) ) where mod(rn, 250) = 0 ) 1???????? 156????????? 0????? 82803??????? 82803??????????? 126 insert into idx1 select 250000+rownum from all_objects where rownum <= 126 1???????? 177 0?????? 3728???????? 3728????????????? 1 insert into idx1 values (251000)???? -- 讀了那些實際不空的塊,較多buffer_get 1??????? 1409????????? 0????? 40293??????? 40293??????????? 933 insert into idx1 select * from idx2 1????? 240842????????? 0??? 3478341????? 3478341???????? 250000 SQL> insert into idx1 values (251001);????? ????????????????????????????-- 不分裂的插入 1 row created. SQL> commit; Commit complete. SQL> select? executions, buffer_gets, disk_reads, cpu_time, elapsed_time, rows_processed, sql_text from v$sql 2? where sql_text like '%insert%idx1%' and sql_text not like '%v$sql%'; EXECUTIONS BUFFER_GETS DISK_READS?? CPU_TIME ELAPSED_TIME ROWS_PROCESSED ---------- ----------- ---------- ---------- ------------ -------------- SQL_TEXT -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 1??????? 1603????????? 0???? 271601?????? 271601??????????? 933 insert into idx2 select * from idx1 where rowid in (select rid from (select rid, rownum rn from (select rowid rid from idx1 where a between 10127 and 243625 order by a) ) where mod(rn, 250) = 0 ) 1???????? 156????????? 0????? 82803??????? 82803??????????? 126 insert into idx1 select 250000+rownum from all_objects where rownum <= 126 1?????????? 9 ?????????0?????? 1640???????? 1640????????????? 1 insert into idx1 values (251001) --不分裂的插入,少量buffer_gets 1???????? 177????????? 0?????? 3728???????? 3728????????????? 1 insert into idx1 values (251000) 1??????? 1409????????? 0????? 40293??????? 40293??????????? 933 insert into idx1 select * from idx2 1???? ?240842????????? 0??? 3478341????? 3478341???????? 250000 insert into idx1 select rownum from all_objects, all_objects where rownum <= 250000
如演示1所示,在自動段管理模式下大量刪除后插入造成許多塊為75%-100%空閑率且不完全為空,此后葉塊分裂時將引起插入操作的相關前臺進程掃描大量“空塊“,若這些塊不在內存中(引發物理讀)且可能需要延遲塊清除等原因時,減緩了該掃描操作的速度,造成葉塊分裂緩慢,最終導致了其他insert操作被split操作所阻塞,出現enq:tx index contention等待事件。 2.? 手動段管理模式下的索引塊分裂
SQL> drop tablespace idx1 including contents and datafiles; Tablespace dropped. SQL> create tablespace idx1 datafile '?/dbs/idx1.dbf' size 500M 2? segment space management MANUAL????????????????????????????????????? -- MSSM的情況 3? extent management local uniform size 10M; Tablespace created. SQL> create table idx1(a number) tablespace idx1; create index idx1_idx on idx1 (a) tablespace idx1 pctfree 0; Table created. SQL> SQL> insert into idx1 select rownum from all_objects, all_objects where rownum <= 250 Index created. SQL> SQL> 000; commit; create table idx2 tablespace idx1 as select * from idx1 where 1=2; insert into idx2 select * from idx1 where rowid in (select rid from (select rid, rownum rn from (select rowid rid from idx1 where a between 10127 and 243625 order by a) ) where mod(rn, 250) = 0 ) / commit; 250000 rows created. SQL> SQL> Commit complete. SQL> SQL> Table created. SQL> SQL>?? 2??? 3??? 4??? 5??? 6??? 7??? 8??? 9 933 rows created. SQL> SQL> Commit complete. SQL> analyze index idx1_idx validate structure; select blocks,lf_blks,del_lf_rows from index_stats; Index analyzed. SQL> BLOCKS??? LF_BLKS DEL_LF_ROWS ---------- ---------- ----------- 1280??????? 499?????????? 0 SQL> delete from idx1 where a between 10127 and 243625; 233499 rows deleted. SQL> commit; Commit complete. SQL> insert into idx1 select * from idx2; commit; 933 rows created. SQL> SQL> Commit complete. SQL> SQL> insert into idx1 select 250000+rownum from all_objects where rownum <= 126; commit; 126 rows created. SQL> SQL> Commit complete. SQL> SQL> select ss.value,sy.name from v$sesstat ss ,v$sysstat sy where ss.statistic#=sy.statistic# and name like '%split%'? and sid=(select distinct sid from v$mystat); VALUE NAME ---------- ---------------------------------------------------------------- 1496 leaf node splits 1496 leaf node 90-10 splits 0 branch node splits 0 queue splits SQL> insert into idx1 values (251000);????????????????????????????????? -- 確實分裂 1 row created. SQL> commit; Commit complete. SQL> select ss.value,sy.name from v$sesstat ss ,v$sysstat sy where ss.statistic#=sy.statistic# and name like '%split%'? and sid=(select distinct sid from v$mystat); VALUE NAME ---------- ---------------------------------------------------------------- 1497 leaf node splits 1497 leaf node 90-10 splits 0 branch node splits 0 queue splits -- 以上與ASSM時完全一致 SQL> select? executions, buffer_gets, disk_reads, cpu_time, elapsed_time, rows_processed, sql_text from v$sql 2? where sql_text like '%insert%idx1%' and sql_text not like '%v$sql%'; EXECUTIONS BUFFER_GETS DISK_READS?? CPU_TIME ELAPSED_TIME ROWS_PROCESSED ---------- ----------- ---------- ---------- ------------ -------------- SQL_TEXT -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 1??????? 1553????????? 0???? 283301?????? 283301??????????? 933 insert into idx2 select * from idx1 where rowid in (select rid from (select rid, rownum rn from (select rowid rid from idx1 where a between 10127 and 243625 order by a) ) where mod(rn, 250) = 0 ) 1???????? 153????????? 0????? 78465??????? 78465??????????? 126 insert into idx1 select 250000+rownum from all_objects where rownum <= 126 1??????? 963 0????? 10422??? ????10422????????????? 1????????????? -- ASSM模式下更大量的空塊 insert into idx1 values (251000) 1???????? 984????????? 0????? 35615??????? 35615??????????? 933 insert into idx1 select * from idx2 1????? 238579????????? 0??? 3468326????? 3469984???????? 250000 insert into idx1 select rownum from all_objects, all_objects where rownum <= 250000 SQL> insert into idx1 values (251001); 1 row created. SQL> commit; Commit complete. SQL> select? executions, buffer_gets, disk_reads, cpu_time, elapsed_time, rows_processed, sql_text from v$sql 2? where sql_text like '%insert%idx1%' and sql_text not like '%v$sql%'; EXECUTIONS BUFFER_GETS DISK_READS?? CPU_TIME ELAPSED_TIME ROWS_PROCESSED ---------- ----------- ---------- ---------- ------------ -------------- SQL_TEXT -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 1??????? 1553????????? 0???? 283301?????? 283301??????????? 933 insert into idx2 select * from idx1 where rowid in (select rid from (select rid, rownum rn from (select rowid rid from idx1 where a between 10127 and 243625 order by a) ) where mod(rn, 250) = 0 ) 1???????? 153????????? 0????? 78465??????? 78465?? ?????????126 insert into idx1 select 250000+rownum from all_objects where rownum <= 126 1?????????? 7 0?????? 1476???????? 1476????????????? 1 insert into idx1 values (251001)??? --不分裂的情況與ASSM時一致 1???????? 963 0????? 10422??????? 10422????????????? 1 insert into idx1 values (251000) 1???????? 984????????? 0????? 35615??????? 35615??????????? 933 insert into idx1 select * from idx2 1????? 238579????????? 0??? 3468326????? 3469984???????? 250000 insert into idx1 select rownum from all_objects, all_objects where rownum <= 250000 6 rows selected.
如演示2所示,MSSM情況下葉塊分裂讀取了比ASSM模式下更多的“空塊“;MSSM并不能解決大量刪除后葉塊分裂需要掃描大量非空塊的問題,實際上可能更糟糕。從理論上講MSSM的freelist只能指出那些未達到pctfree和曾經到達pctfree后來刪除記錄后使用空間下降到pctused的塊(doc:A free list is a list of free data blocks that usually includes blocks existing in a number of different extents within the segment. Free lists are composed of blocks in which free space has not yet reached PCTFREE or used space has shrunk below PCTUSED.),換而言之MSSM模式下”空塊“會更多。 3.? 自動段管理模式下coalesce后的索引塊分裂
SQL> drop tablespace idx1 including contents and datafiles; Tablespace dropped. SQL> create tablespace idx1 datafile '?/dbs/idx1.dbf' size 500M 2? segment space management AUTO?????????????????????????????????????? -- ASSM coalesce情況 3? extent management local uniform size 10M; Tablespace created. SQL> create table idx1(a number) tablespace idx1; create index idx1_idx on idx1 (a) tablespace idx1 pctfree 0; Table created. SQL> SQL> Index created. SQL> SQL> insert into idx1 select rownum from all_objects, all_objects where rownum <= 250000; commit; create table idx2 tablespace idx1 as select * from idx1 where 1=2; insert into idx2 select * from idx1 where rowid in (select rid from (select rid, rownum rn from (select rowid rid from idx1 where a between 10127 and 243625 order by a) ) where mod(rn, 250) = 0 ) / commit; 250000 rows created. SQL> SQL> Commit complete. SQL> SQL> Table created. SQL> SQL>?? 2??? 3??? 4??? 5??? 6??? 7??? 8??? 9 933 rows created. SQL> SQL> Commit complete. SQL> SQL> SQL> SQL> SQL> analyze index idx1_idx validate structure; select blocks,lf_blks,del_lf_rows from index_stats; Index analyzed. SQL> BLOCKS??? LF_BLKS DEL_LF_ROWS ---------- ---------- ----------- 1280??????? 499?????????? 0 SQL> delete from idx1 where a between 10127 and 243625; commit; 233499 rows deleted. SQL> SQL> Commit complete. SQL> alter index idx1_idx coalesce; Index altered. SQL> analyze index idx1_idx validate structure; select blocks,lf_blks,del_lf_rows from index_stats; Index analyzed. SQL> BLOCKS??? LF_BLKS DEL_LF_ROWS ---------- ---------- ----------- 1280???????? 33?????????? 0 -- coalesc lf塊合并了 SQL> insert into idx1 select * from idx2; 933 rows created. SQL> SQL> commit; Commit complete. SQL> SQL> insert into idx1 select 250000+rownum from all_objects where rownum <= 126; commit; 126 rows created. SQL> SQL> Commit complete. SQL> select ss.value,sy.name from v$sesstat ss ,v$sysstat sy where ss.statistic#=sy.statistic# and name like '%split%'? and sid=(select distinct sid from v$mystat); VALUE NAME ---------- ---------------------------------------------------------------- 1999 leaf node splits 1995 leaf node 90-10 splits 0 branch node splits 0 queue splits SQL> insert into idx1 values (251000);?????????????????????????????????????? -- 確實分裂 1 row created. SQL> commit; Commit complete. SQL> select ss.value,sy.name from v$sesstat ss ,v$sysstat sy where ss.statistic#=sy.statistic# and name like '%split%'? and sid=(select distinct sid from v$mystat); VALUE NAME ---------- ---------------------------------------------------------------- 2000 leaf node splits 1996 leaf node 90-10 splits 0 branch node splits 0 queue splits SQL> select? executions, buffer_gets, disk_reads, cpu_time, elapsed_time, rows_processed, sql_text from v$sql 2? where sql_text like '%insert%idx1%' and sql_text not like '%v$sql%'; EXECUTIONS BUFFER_GETS DISK_READS?? CPU_TIME ELAPSED_TIME ROWS_PROCESSED ---------- ----------- ---------- ---------- ------------ -------------- SQL_TEXT -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 1??????? 1603????????? 0???? 268924?????? 268924??????????? 933 insert into idx2 select * from idx1 where rowid in (select rid from (select rid, rownum rn from (select rowid rid from idx1 where a between 10127 and 243625 order by a) ) where mod(rn, 250) = 0 ) 1???????? 156????????? 0??? ??78349??????? 78349??????????? 126 insert into idx1 select 250000+rownum from all_objects where rownum <= 126 1????????? 23 0?????? 2218???????? 2218????????????? 1???????????????????????????? --少量buffer gets insert into idx1 values (251000) 1???????? 191????????? 0????? 15596??????? 15596??????????? 933 insert into idx1 select * from idx2 1????? 240852????????? 0??? 3206130????? 3206130???????? 250000 insert into idx1 select rownum from all_objects, all_objects where rownum <= 250000 SQL> insert into idx1 values (251001); 1 row created. SQL> commit; Commit complete. SQL> select? executions, buffer_gets, disk_reads, cpu_time, elapsed_time, rows_processed, sql_text from v$sql 2? where sql_text like '%insert%idx1%' and sql_text not like '%v$sql%'; EXECUTIONS BUFFER_GETS DISK_READS?? CPU_TIME ELAPSED_TIME ROWS_PROCESSED ---------- ----------- ---------- ---------- ------------ -------------- SQL_TEXT -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 1??????? 1603????????? 0???? 268924?????? 268924??????????? 933 insert into idx2 select * from idx1 where rowid in (select rid from (select rid, rownum rn from (select rowid rid from idx1 where a between 10127 and 243625 order by a) ) where mod(rn, 250) = 0 ) 1???????? 156????????? 0????? 78349??????? 78349??????????? 126 insert into idx1 select 250000+rownum from all_objects where rownum <= 126 1?????????? 9 0?????? 1574???????? 1574????????????? 1 insert into idx1 values (251001) 1????????? 23 0?????? 2218???????? 2218????????????? 1 insert into idx1 values (251000) 1???????? 191????????? 0????? 15596??????? 15596??????????? 933 insert into idx1 select * from idx2 1????? 240852????????? 0??? 3206130????? 3206130???????? 250000 insert into idx1 select rownum from all_objects, all_objects where rownum <= 250000 6 rows selected.
如演示三所示在刪除后進行coalesce操作,合并操作將大量空塊分離出了索引結構(move empty out of index structure),之后的葉塊分裂僅讀取了少量必要的塊。 4.? 手動段管理模式下coalesce后的索引塊分裂
SQL> drop tablespace idx1 including contents and datafiles; Tablespace dropped. SQL> create tablespace idx1 datafile '?/dbs/idx1.dbf' size 500M 2? segment space management MANUAL?????????????????????????????? -- mssm情況下 coalesce 3? extent management local uniform size 10M; Tablespace created. SQL> create table idx1(a number) tablespace idx1; create index idx1_idx on idx1 (a) tablespace idx1 pctfree 0; Table created. SQL> SQL> insert into idx1 select rownum from all_objects, all_objects where rownum <= 250 Index created. SQL> SQL> 000; commit; create table idx2 tablespace idx1 as select * from idx1 where 1=2; insert into idx2 select * from idx1 where rowid in (select rid from (select rid, rownum rn from (select rowid rid from idx1 where a between 10127 and 243625 order by a) ) where mod(rn, 250) = 0 ) / commit; 250000 rows created. SQL> SQL> Commit complete. SQL> SQL> Table created. SQL> SQL>?? 2??? 3??? 4??? 5??? 6??? 7??? 8??? 9 933 rows created. SQL> SQL> Commit complete. SQL> SQL> SQL> SQL> SQL> analyze index idx1_idx validate structure; select blocks,lf_blks,del_lf_rows from index_stats; Index analyzed. SQL> BLOCKS??? LF_BLKS DEL_LF_ROWS ---------- ---------- ----------- 1280??????? 499?????????? 0 SQL> delete from idx1 where a between 10127 and 243625; commit; 233499 rows deleted. SQL> SQL> Commit complete. SQL> analyze index idx1_idx validate structure; select blocks,lf_blks,del_lf_rows from index_stats; Index analyzed. SQL> BLOCKS??? LF_BLKS DEL_LF_ROWS ---------- ---------- ----------- 1280??????? 499????? 233499 SQL> alter index idx1_idx coalesce; Index altered. SQL> analyze index idx1_idx validate structure; select blocks,lf_blks,del_lf_rows from index_stats; Index analyzed. SQL> BLOCKS??? LF_BLKS DEL_LF_ROWS ---------- ---------- ----------- 1280???????? 33?????????? 0 SQL> insert into idx1 select * from idx2; 933 rows created. SQL> SQL> commit; Commit complete. SQL> SQL> insert into idx1 select 250000+rownum from all_objects where rownum <= 126; commit; 126 rows created. SQL> SQL> Commit complete. SQL> select ss.value,sy.name from v$sesstat ss ,v$sysstat sy where ss.statistic#=sy.statistic# and name like '%split%'? and sid=(select distinct sid from v$mystat); VALUE NAME ---------- ---------------------------------------------------------------- 2502 leaf node splits 2494 leaf node 90-10 splits 0 branch node splits 0 queue splits SQL> insert into idx1 values (251000);?????????????????????? -- 確實分裂 1 row created. SQL> commit; Commit complete. SQL> select ss.value,sy.name from v$sesstat ss ,v$sysstat sy where ss.statistic#=sy.statistic# and name like '%split%'? and sid=(select distinct sid from v$mystat); VALUE NAME ---------- ---------------------------------------------------------------- 2503 leaf node splits 2495 leaf node 90-10 splits 0 branch node splits 0 queue splits SQL> select? executions, buffer_gets, disk_reads, cpu_time, elapsed_time, rows_processed, sql_text from v$sql 2? where sql_text like '%insert%idx1%' and sql_text not like '%v$sql%'; EXECUTIONS BUFFER_GETS DISK_READS?? CPU_TIME ELAPSED_TIME ROWS_PROCESSED ---------- ----------- ---------- ---------- ------------ -------------- SQL_TEXT -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 1??????? 1553????????? 0???? 281059?????? 281059??????????? 933 insert into idx2 select * from idx1 where rowid in (select rid from (select rid, rownum rn from (select rowid rid from idx1 where a between 10127 and 243625 order by a) ) where mod(rn, 250) = 0 ) 1???????? 153????????? 0????? 77817??????? 77817??????????? 126 insert into idx1 select 250000+rownum from all_objects where rownum <= 126 1????????? 19????????? 0?????? 2010???????? 2010????????????? 1?????????????????????? -- 少量buffer get insert into idx1 values (251000) 1???????? 126????????? 0????? 15364??????? 15364??????????? 933 insert into idx1 select * from idx2 1????? 238644????????? 0??? 3229737????? 3230569???????? 250000 insert into idx1 select rownum from all_objects, all_objects where rownum <= 250000 SQL> insert into idx1 values (251001); 1 row created. SQL> commit; Commit complete. SQL> select? executions, buffer_gets, disk_reads, cpu_time, elapsed_time, rows_processed, sql_text from v$sql 2? where sql_text like '%insert%idx1%' and sql_text not like '%v$sql%'; EXECUTIONS BUFFER_GETS DISK_READS?? CPU_TIME ELAPSED_TIME ROWS_PROCESSED ---------- ----------- ---------- ---------- ------------ -------------- SQL_TEXT -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 1??????? 1553????????? 0???? 281059?????? 281059??????????? 933 insert into idx2 select * from idx1 where rowid in (select rid from (select rid, rownum rn from (select rowid rid from idx1 where a between 10127 and 243625 order by a) ) where mod(rn, 250) = 0 ) 1???????? 153????????? 0????? 77817??????? 77817??? ????????126 insert into idx1 select 250000+rownum from all_objects where rownum <= 126 1????????? 7 0?????? 1460???????? 1460????????????? 1 insert into idx1 values (251001) 1????????? 19 0?????? 2010???????? 2010??? ??????????1 insert into idx1 values (251000) 1???????? 126????????? 0????? 15364??????? 15364??????????? 933 insert into idx1 select * from idx2 1????? 238644????????? 0??? 3229737????? 3230569???????? 250000 insert into idx1 select rownum from all_objects, all_objects where rownum <= 250000 6 rows selected.
如演示4所示,MSSM模式下合并操作與ASSM情況下大致一樣,合并操作可以有效解決該問題。 5.? Coalesce合并操作的鎖影響
SQL> create table coal (t1 int); Table created. SQL> create index pk_t1 on coal(t1); Index created. SQL> begin 2??? for i in 1..3000 loop 3????? insert into coal values(i); 4????? commit; 5????? end loop; 6????? end; 7? / PL/SQL procedure successfully completed. SQL> delete coal where t1>500; 2500 rows deleted. SQL> commit; Commit complete. SQL> analyze index pk_t1 validate structure; Index analyzed.??? -- 注意analyze validate操作會block一切dml操作 SQL> select blocks,lf_blks,del_lf_rows from index_stats; BLOCKS??? LF_BLKS DEL_LF_ROWS ---------- ---------- ----------- 8????????? 6??????? 2500????????? -- 刪除后的狀態 此時另開一個會話,開始dml操作: SQL> update coal set t1=t1+1; 500 rows updated. -- 回到原會話 SQL> alter index pk_T1 coalesce;???????????? -- coalesce 未被阻塞 Index altered. -- 在另一個會話中commit,以便執行validate structure SQL> analyze index pk_t1 validate structure; Index analyzed. SQL> select blocks,lf_blks,del_lf_rows from index_stats; BLOCKS??? LF_BLKS DEL_LF_ROWS ---------- ---------- ----------- 8????????? 3???????? 500 -- 顯然coalesce的操作沒有涉及有dml操作的塊 在沒有dml操作的情況下: SQL> truncate table coal; Table truncated. SQL> begin 2??? for i in 1..3000 loop 3????? insert into coal values(i); 4????? commit; 5????? end loop; 6????? end; 7? / PL/SQL procedure successfully completed. SQL> analyze index pk_t1 validate structure; Index analyzed. SQL> select blocks,lf_blks,del_lf_rows from index_stats; BLOCKS??? LF_BLKS DEL_LF_ROWS ---------- ---------- ----------- 8????????? 6?????????? 0 SQL> delete coal where t1>500; 2500 rows deleted. SQL> commit; Commit complete. SQL> analyze index pk_t1 validate structure; Index analyzed. SQL> select blocks,lf_blks,del_lf_rows from index_stats; BLOCKS??? LF_BLKS DEL_LF_ROWS ---------- ---------- ----------- 8????????? 6??????? 2500 SQL> alter index pk_t1 coalesce; Index altered. SQL> analyze index pk_t1 validate structure; Index analyzed. SQL> select blocks,lf_blks,del_lf_rows from index_stats; BLOCKS??? LF_BLKS DEL_LF_ROWS ---------- ---------- ----------- 8????????? 1?????????? 0 --沒有dml時,coalesce 操作涉及了所有塊
如演示5所示coalesce會避開dml操作涉及的塊,但在coalesec的短暫間歇出現在索引上有事務的塊不會太多。且coalesce操作不會降低索引高度。 附件是關于rebuild及coalesce索引操作的詳細描述: 6.? Coalesce操作總結 優點: l? 是一種快速的操作,對整體性能影響最小(not performance sensitive)。 l? 不會鎖表,繞過有事務的索引塊。 l? 可以有效解決現有的問題。 l? 不會降低索引高度,引起再次的root split 缺點: l? 需要針對個別對象,定期執行合并操作;無法一勞永逸地全局地解決該問題。 7.? Linux 10.2.0.4上相關補丁的技術交流 Metalink bug 8286901 note中敘述了一位用戶遇到相同的問題并提交了SR,當時oracle support給出了one-off補丁,但該用戶在apply了該補丁后仍未解決問題。 以下為note 原文:
It is similar to bug8286901, but after applied patch8286901, still see enq tx contentiona with high "failed probes on index block reclamation"
Issue encountered by customer and Oracle developer (Stefan Pommerenk).
 
He describes is thus:
 
"Space search performed by the index splitter can't find space in neighboring
 
blocks, and then instead of allocating new space, we go and continue to
 
search for space elsewhere, which manifests itself in block reads from disk,
 
block cleanouts, and subsequent blocks written due to aggressive MTTR
 
setting."
 
 
 
"To clarify: the cleanouts are not the problem per se. The culprit seems to
 
be that the space search performed by the index splitter can't find space in
 
neighboring blocks, and then instead of allocating new space, we go and
 
continue to search for space elsewhere, which manifests itself in block reads
 
from disk, block cleanouts, and subsequent blocks written due to aggressive
 
MTTR setting. This action has caused other sessions to get blocked on TX
 
enqueue contention, blocked on the splitting session. Advice was to set 10224
 
trace event for the splitter for a short time only in order to get
 
diagnostics as to why the space search rejected most blocks.
 
> A secondary symptom are the bitmap level 1 block updates, which may or may
 
not be related to the space search; I've not seen them before, maybe because
 
I didn't really pay attention :P , but the symptoms seen in the ASH trace
 
indicate it's the same problem. Someone in space mgmt has to look at it to
 
confirm it is the same problem."
與該用戶進行了mail私下交流,他的回復:
I still have a case open with Oracle. I believe that this is a bug in the Oracle code. The problem is that it has been difficult to create a reproducible test case for Oracle support. My specific issue was basically put on hold pending the results of another customer’s service request that appeared to have had the same issue, (9034788). Unfortunately they couldn’t reproduce the issue in that case either. I believe that there is a correlation between the enq TX – index contention wait event and a spike in the number of ‘failed probes on index block reclamation. I have specifically asked Oracle to explain why there is a spike in the ‘failed probes on index block reclamation’ during the same time frame as the enq TX index contention wait event, but they have not answered my question. I was hoping that some investigation by Oracle Support into the failed probes metric might get someone on the right track to discovering the bug. That hasn’t happened though. Hi , Thanks for your sharing .? The bug (or specific ktsp behave) is fatal in response time sensitive? OLTP env. I would like to ask my customer to coalesce those index where massive deleted regularly. Thanks for your help again! Yes, I saw that. I have applied patch 8286901 and set the event for version 10.2.0.4, but the problem still occurs periodically. And as I mentioned before, we see a correlation between enq TX waits and the failed probes on index block reclamation. Which is why I still think that it is a bug. I agree that trying to rebuild or coalesce the indexes are simply attempts to workaround the issue and not solve the root cause. Early on when I started on this issue I did do some index dumps and could clearly see that we had lots of blocks with only 1 or 2 records after our mass delete jobs. I have provided Oracle Support with this information as well as oradump files while the problem is occurring, but they don’t seem to be able to find anything wrong so far. If you are interested in seeing if you are experiencing a high ‘failed probes on index block reclamation’ event run the query below. select SS.snap_id, SS.stat_name, TO_CHAR(S.BEGIN_INTERVAL_TIME, ‘DAY’) DAY, S.BEGIN_INTERVAL_TIME, S.END_INTERVAL_TIME, SS.value, SS.value – LAG(SS.VALUE, 1, ss.value) OVER (ORDER BY SS.SNAP_ID) AS DIFF from DBA_HIST_SYSSTAT SS, DBA_HIST_SNAPSHOT S where S.SNAP_ID = SS.SNAP_ID AND SS.stat_NAME = ‘failed probes on index block reclamation’ ORDER BY SS.SNAP_ID ;
  1. 在11gr2上的測試
--在最新的11gr2中進行了測試,仍可以重現該問題(如圖單條insert引起了6675buffer_gets,這是在更大量數據的情況下)。
我們可以猜測Oracle提供的one-off補丁中可能是為葉塊分裂所會掃描的“空塊”附加了一個上限,在未達到上限的情況下掃描仍會發生。而在主流的公開的發行版本中Oracle不會引入該補丁的內容。嘗試在沒有緩存的情況下引起分裂問題,分裂引起了大約4000個塊的物理讀,但該操作仍在0.12秒(有緩存是0.02秒,如圖)內完成了(該測試使用普通ata硬盤,讀取速度在100MB/S: Timing buffered disk reads:? 306 MB in? 3.00 seconds = 101.93 MB/sec);從1月21日的ash視圖中可以看到引起split的260會話處于單塊讀等待(db file sequential read)中,且已等待了43950us約等于44ms;這與良好io的經驗值10ms左右有較大出入;我們可以確信io性能問題也是引發此葉塊分裂延遲如此顯性的一個重要因素。

具體結論

綜上所述,在之前討論的幾個方案中,MSSM方式是不能避免索引分裂引起交易超時問題的;不刪除數據的方案在許多對象上不可行;10.2.0.4上的one-off補丁因為目前僅存在Linux版本,可以考慮聲請補丁后具體測試(因目前沒有補丁所以處于未知狀態)。Coalesce合并索引是目前既有的最具可操作性且無副作用的解決方案。

轉載于:https://www.cnblogs.com/macleanoracle/archive/2010/03/21/2967378.html

總結

以上是生活随笔為你收集整理的对Oracle中索引叶块分裂而引起延迟情况的测试和分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

天天碰天天操视频 | 国产尤物视频在线 | 激情在线免费视频 | 国产精品久久久久永久免费 | 97av在线视频免费播放 | 97香蕉超级碰碰久久免费软件 | 欧美日韩国产一区二区在线观看 | 五月婷网站 | 九九电影在线 | 成人全视频免费观看在线看 | 91视频 - x99av| 久久黄色小说视频 | 国产精品毛片完整版 | 黄色成人毛片 | 97国产小视频 | 久久婷婷精品 | 国产成人亚洲精品自产在线 | 999久久国产 | 国产精品理论片在线观看 | 成人污视频在线观看 | 成年人电影免费在线观看 | 国产精品18久久久久久vr | 久久视频一区二区 | 国产剧情av在线播放 | 国产一区在线看 | 成人一区二区在线 | 欧美精品中文在线免费观看 | 97在线观看免费观看 | 亚洲成人精品在线 | 波多野结衣在线视频一区 | 最新国产精品亚洲 | 免费看高清毛片 | 日本一区二区三区免费观看 | 中文字幕在线视频一区二区三区 | 日韩免费久久 | 久久久久高清 | a级国产乱理伦片在线观看 亚洲3级 | www.夜夜爱| 成人黄大片视频在线观看 | 欧美大片第1页 | 日韩专区av | 不卡的av在线播放 | 国产成人久久精品亚洲 | 婷五月天激情 | 国产免费xvideos视频入口 | 丰满少妇在线观看 | 免费看黄在线观看 | 天天操夜夜操天天射 | 日本中文字幕免费观看 | 91大神在线观看视频 | 久久露脸国产精品 | 国产精品一区二区三区四 | 国产玖玖精品视频 | 99re久久资源最新地址 | 久久国产亚洲精品 | 日韩最新在线 | 丁香婷婷在线 | 欧美美女视频在线观看 | 国产一级电影 | 久久香蕉电影网 | 日韩在线影视 | 天天看天天干 | 天天综合亚洲 | 97超碰人人爱 | 国产在线91在线电影 | 天天综合网久久综合网 | 国产精品mv在线观看 | 久草免费看 | 制服丝袜在线91 | 亚洲一区 影院 | 91精品国产三级a在线观看 | 91大神精品视频在线观看 | 三级av片 | 亚洲成人精品久久 | 亚洲3级| 欧美日韩精品影院 | 精品在线亚洲视频 | 国产成人精品在线观看 | 99久久精品免费一区 | 在线黄色毛片 | 亚洲a资源 | 美女网站在线观看 | 亚洲精品一区二区三区高潮 | 亚洲激情视频在线观看 | 天天草天天草 | 最近免费中文字幕大全高清10 | 久久er99热精品一区二区 | av在线h | 国产成人精品免费在线观看 | 日日操天天操夜夜操 | 日日夜夜亚洲 | 色网站黄 | 91亚洲狠狠婷婷综合久久久 | 国产精品18久久久 | 国产精品1区2区 | 91精品国产91 | 久久久久久麻豆 | 国产精品久久久久久久久久久久午 | 久久伊人爱 | 欧美少妇影院 | 不卡的av在线播放 | 8x成人免费视频 | 欧美国产一区二区 | 色婷婷六月天 | 久久99久久99久久 | 三级视频片 | 天天干,夜夜爽 | 亚洲一区二区三区在线看 | 韩国av不卡| 欧美少妇的秘密 | 丰满少妇对白在线偷拍 | 毛片黄色一级 | 日本中文字幕在线电影 | 色婷婷国产精品 | 91欧美在线| 免费黄色看片 | 亚洲精选在线 | 精品9999| 夜夜夜草 | 亚洲伦理一区 | 国产最新视频在线观看 | 免费av网址在线观看 | 成人久久18免费网站 | 91一区啪爱嗯打偷拍欧美 | 99精品国产一区二区三区麻豆 | 国产麻豆果冻传媒在线观看 | 日韩一区在线播放 | 成人精品视频 | 超碰97免费在线 | 国内精品久久久久久久久久久 | 精品爱爱 | 亚洲综合激情网 | 黄色片毛片 | 天天操天天操天天操天天操 | 久久夜夜操 | 国产精成人品免费观看 | 最近日本中文字幕 | 国产高清久久久久 | 亚洲乱亚洲乱妇 | 美女网站在线免费观看 | 久久伊人五月天 | 中文字幕乱在线伦视频中文字幕乱码在线 | 欧美激情片在线观看 | 亚洲 综合 激情 | 狠色在线 | 五月天免费网站 | 国产成人av电影在线观看 | 一区二区视频在线播放 | 在线观看视频你懂 | 中文字幕日韩高清 | 六月丁香六月婷婷 | 24小时日本在线www免费的 | av黄色影院 | 97国产| 国产成人免费高清 | 99精品视频观看 | 精品国模一区二区 | 中文免费 | 美女视频是黄的免费观看 | 98久9在线 | 免费 | 国产中文字幕在线播放 | 综合网伊人| 97超碰人人网 | 99精品热| 97视频在线免费播放 | 日韩在线观看你懂得 | 天天亚洲| 天天爱综合 | av在线8 | 欧美久草网 | 亚洲国产精品日韩 | 在线看一区二区 | 精品高清美女精品国产区 | 美女免费视频一区 | 国产精品永久久久久久久久久 | 99久久99热这里只有精品 | 97精品伊人 | 六月丁香在线观看 | 天天综合成人网 | 中文字幕亚洲精品日韩 | 日韩一片| 婷婷激情小说网 | 久久久免费在线观看 | 久久精品视频4 | 久草在线手机视频 | 手机在线视频福利 | 91精品福利在线 | 国产不卡av在线播放 | 成人av直播 | 91成人蝌蚪 | 亚洲精品乱码久久久久v最新版 | 超碰在线观看97 | 国产主播99 | 黄色最新网址 | 欧美久久久久久久久久久久久 | 国产麻豆精品免费视频 | 国产1区2区3区精品美女 | 天天色天天草天天射 | a电影免费看| 亚州精品天堂中文字幕 | 碰超在线97人人 | 99久久这里有精品 | 国产精品久久久久一区二区国产 | 亚洲精品456在线播放 | 人人爱在线视频 | 中文字幕婷婷 | 爱色婷婷| 天天久久综合 | 丁香六月天婷婷 | 91在线观看视频网站 | www.五月天色| 免费91麻豆精品国产自产在线观看 | 伊人小视频 | 久久国产精品免费 | 永久黄网站色视频免费观看w | 日韩中文字幕免费视频 | 天天激情综合网 | 日韩欧美99| 国产精品久久久久久一区二区三区 | 999免费视频 | 中文在线免费观看 | 丁香婷婷激情国产高清秒播 | 欧美-第1页-屁屁影院 | 91高清视频免费 | 超级av在线 | 午夜成人影视 | 久久精品香蕉视频 | 99视频免费看 | 一二三精品视频 | 国产色小视频 | av高清网站在线观看 | 久久免费视频这里只有精品 | 国产精品福利在线观看 | 欧美综合在线视频 | 国产在线视频导航 | 91精品国产亚洲 | 欧美久久久久久久久久久 | 亚洲免费资源 | www178ccom视频在线 | 久久久精品视频成人 | 91丨九色丨蝌蚪丨老版 | 二区视频在线观看 | 成全在线视频免费观看 | 人人爽人人爽 | 91高清完整版在线观看 | 色婷婷av一区 | 久草久草视频 | www五月天com| 久久精品第一页 | 久久国产精品电影 | 欧美精品亚洲二区 | 亚洲久草视频 | 精品美女国产在线 | 日韩三级免费 | 国产精品自产拍在线观看网站 | 嫩草av在线 | 色婷婷av一区 | 久久a国产 | 中文在线a√在线 | www成人精品 | 国产黄色片免费 | 国产精品美女久久久久久久 | 激情av资源网| 国产精品国产三级国产不产一地 | 免费亚洲一区二区 | 国产美女黄网站免费 | 久久人人爽人人片 | 丝袜美腿亚洲综合 | 黄色亚洲片 | 成人黄色影片在线 | 成年人在线观看 | 亚洲无人区小视频 | 四虎成人精品永久免费av | 欧美在线观看小视频 | 国产成人区 | 国产精品久久久久999 | 午夜免费福利视频 | 精品国产1区 | 亚洲精品视频在线观看免费视频 | 亚洲综合少妇 | 日本天天操 | 91在线免费播放 | 亚洲国产成人精品在线观看 | 久久久久久久国产精品视频 | 91漂亮少妇露脸在线播放 | av中文字幕在线观看网站 | 中文字幕中文字幕在线一区 | 国产日产欧美在线观看 | 日韩免费一级a毛片在线播放一级 | 成人av影视在线 | 国产精品正在播放 | 在线免费观看黄 | 黄色免费在线看 | 91精品在线视频观看 | 性色va | 中文在线免费看视频 | 久久久久久久久久久免费av | 久久9精品 | 五月开心六月伊人色婷婷 | 婷婷av电影| 精品国产成人av在线免 | 色吊丝在线永久观看最新版本 | 天天天干天天射天天天操 | 久久久国产影视 | 蜜桃视频在线视频 | 久久久久久久久久影院 | 国产精品 欧美 日韩 | 免费的成人av | 亚洲黄色免费在线看 | 日韩美视频 | 在线观看日韩国产 | 五月婷婷丁香综合 | 久久夜色网 | 国产精品大片免费观看 | 91夫妻视频 | 午夜久久福利视频 | 日日爽夜夜操 | 在线看不卡av | 国产视频精选在线 | 国产精品久久99综合免费观看尤物 | 97成人在线| 久久免费视频一区 | 国产精品成人一区 | 欧美成人播放 | 久久免费视频在线观看 | 色婷婷六月天 | 欧美地下肉体性派对 | 97色噜噜| 中文字幕精品久久 | www91在线 | 少妇精品久久久一区二区免费 | 久久久精品亚洲 | 国产精品久久久久免费 | 激情婷婷六月 | 视频一区二区视频 | 天天综合导航 | 日韩四虎| 久久精品久久久久久久 | 97成人免费 | 黄网站色成年免费观看 | 欧洲黄色片 | 国产裸体永久免费视频网站 | 丁香花在线视频观看免费 | 国产精品对白一区二区三区 | 久久丝袜视频 | 国产一区二区精品久久 | 亚洲精品黄网站 | 亚洲第一区在线播放 | 色婷婷狠狠18| 成人一区影院 | 国产91成人| 一区二区日韩av | 伊人婷婷综合 | 国产一区二区手机在线观看 | 成年人在线观看免费视频 | 欧美性极品xxxx做受 | 久久国产精品影视 | 欧美日韩精品在线观看视频 | 久久99久久99精品免视看婷婷 | 久久这里有精品 | 久久久噜噜噜久久久 | 97在线精品国自产拍中文 | 久产久精国产品 | 伊人伊成久久人综合网站 | 午夜91在线 | 西西444www大胆高清视频 | 99免费视频 | 欧美激情视频久久 | 亚洲综合导航 | 99免在线观看免费视频高清 | wwwwww国产| 婷婷色社区 | 黄色的网站在线 | 国产精品自产拍在线观看蜜 | 国产精品黑丝在线观看 | 精品国偷自产在线 | 欧美日韩伦理在线 | 婷婷网址| 伊人网综合在线观看 | 97国产情侣爱久久免费观看 | 韩国一区二区av | 国产精品成人一区二区 | 成人午夜影院在线观看 | 日韩大片在线免费观看 | 欧美日韩国产一区二区在线观看 | 国产一级视屏 | 精品一区欧美 | www..com毛片 | 欧美专区日韩专区 | 国产不卡在线观看视频 | 亚洲天堂网站视频 | 国产日韩欧美网站 | 欧洲精品久久久久毛片完整版 | 日本性视频| 国产精品久久久久一区二区 | 久久不色 | 少妇精品久久久一区二区免费 | 天天想夜夜操 | 欧美精品少妇xxxxx喷水 | 色插综合| 久久涩视频| 一区二区三区精品在线 | 超碰在线中文字幕 | 亚洲免费在线看 | 日韩一区二区三区免费电影 | av免费成人| 久久曰视频| 亚洲精品在线观看免费 | 国内精品国产三级国产aⅴ久 | 久久男人免费视频 | 人人爽人人爽人人片 | 亚洲免费专区 | 日日干日日 | 亚洲欧美激情精品一区二区 | 在线视频观看91 | 成人一区在线观看 | 欧美特一级| 久久久久免费 | 久久五月婷婷丁香社区 | 免费av在| 日韩黄色网络 | 免费又黄又爽的视频 | 精品不卡av | 日韩一级电影在线观看 | 久久91久久久久麻豆精品 | 国产小视频免费在线观看 | 久草在线最新免费 | 91最新中文字幕 | 久久久精品 | 麻豆成人精品视频 | 成人黄色在线观看视频 | 在线观看视频黄 | 久久国产成人午夜av影院宅 | 国产精品麻豆三级一区视频 | 九九久久免费视频 | 成人小视频在线观看免费 | av亚洲产国偷v产偷v自拍小说 | 亚洲日本一区二区在线 | 最近中文字幕完整高清 | 亚洲精品www久久久久久 | 日韩精品在线免费观看 | 国产精品一区二区av影院萌芽 | 欧美狠狠色| 欧美怡红院视频 | 日韩亚洲国产精品 | 狠狠色狠狠色综合系列 | 日本黄色a级大片 | 婷婷5月激情5月 | 欧美特一级片 | 久久午夜国产 | 午夜av一区二区三区 | 国产精品麻豆三级一区视频 | 国产麻豆精品95视频 | 伊人久久国产 | 中日韩三级视频 | 日韩精品一区二区三区免费视频观看 | 91av视频在线观看免费 | 免费黄色网止 | 久久a v电影| 国产在线观看一区 | 国产91精品久久久久久 | 国产免费高清视频 | 国产一级在线视频 | 国产精品第一页在线观看 | 亚洲国产中文字幕 | 久久久96| 天天色天天操天天爽 | 狠狠综合久久 | 久草在线国产 | 99精品国产免费久久久久久下载 | 亚洲精品国久久99热 | 亚洲va在线va天堂va偷拍 | 91在线视频播放 | 亚洲天堂香蕉 | 在线观看国产 | 久草视频在线资源站 | 在线观看国产成人av片 | 中文字幕在线观看资源 | 狠狠色丁香婷婷 | 免费高清在线观看电视网站 | 亚洲aⅴ在线 | 国产真实在线 | av在线h| 国产精品久久久久久久久婷婷 | 国产一区视频免费在线观看 | 免费色视频 | 91色在线观看视频 | 亚洲欧洲精品一区二区精品久久久 | 91插插插网站 | 狠狠干.com| 国产美女网站在线观看 | www.夜夜爽| 最新一区二区三区 | 手机成人在线 | 国产三级国产精品国产专区50 | 久青草国产在线 | 亚洲精品国产综合久久 | 日韩视频一区二区在线观看 | 久久久国产99久久国产一 | 青青河边草免费 | 91精品国产成人观看 | 福利精品在线 | 欧美伦理一区二区 | 国产专区一 | 国产精品一区二区在线 | 成年人在线电影 | 日日日操 | 欧美精品资源 | 成人国产精品久久久 | 欧美精品国产综合久久 | 国产一区二区久久久久 | 欧美 亚洲 另类 激情 另类 | 九九久久精品视频 | 亚洲永久精品在线 | 操久久网| 色婷婷激情网 | 夜夜天天干| 国产精品免费在线播放 | 黄色av在 | 天天操天天干天天干 | 热久久免费国产视频 | 99免费国产 | 久久久久久久久久久综合 | wwwwww黄| 91色九色 | 久久精品国产亚洲精品 | 81国产精品久久久久久久久久 | 91成人小视频 | a久久久久久 | 激情影院在线 | 在线看的av网站 | 中文字幕av在线免费 | 国产精品亚洲精品 | 久久精品国产v日韩v亚洲 | 国产99久久精品一区二区永久免费 | 日韩一区二区三区免费电影 | 成人午夜电影免费在线观看 | 香蕉在线播放 | 中文字幕之中文字幕 | 日韩欧美一区二区三区黑寡妇 | 蜜臀aⅴ国产精品久久久国产 | 一区二区三区在线观看中文字幕 | 婷婷激情综合五月天 | 日韩成人av在线 | 成人在线电影观看 | 国内外激情视频 | 国产精品国产自产拍高清av | 久久短视频 | 欧美色图一区 | 久久黄色影视 | 午夜久久视频 | 丁香在线观看完整电影视频 | 波多野结衣在线观看一区二区三区 | 日韩aa视频 | 91爱爱免费观看 | 欧美日韩高清一区二区 国产亚洲免费看 | 人人插人人射 | 久久久久久久久久免费 | 免费色视频网站 | 在线视频 区 | 日本性动态图 | 色婷婷影视| 99 色 | www.在线观看av | 99视频在线精品国自产拍免费观看 | 激情视频一区 | www色网站 | 亚洲午夜小视频 | 超级碰99| 国产精品精品国产婷婷这里av | 久久久久国产精品免费网站 | 午夜影视一区 | 色a综合| 成人a视频在线观看 | 欧美激情综合色综合啪啪五月 | 在线视频在线观看 | 国产精品九九热 | 狠狠色丁香九九婷婷综合五月 | 国产麻豆精品一区二区 | av大全在线观看 | 九九视频一区 | 伊人五月天 | 亚洲精品成人网 | 欧美激情精品久久久久久免费印度 | 日日夜夜婷婷 | 亚洲特级片 | 久久国语露脸国产精品电影 | a视频免费看 | 婷婷视频在线播放 | 视频成人永久免费视频 | 久二影院| avlulu久久精品 | 久久综合操 | 99精品国产高清在线观看 | 欧美视频www | 日韩欧美v| 亚洲成人在线免费 | 久久国产亚洲精品 | av中文字幕网站 | 久久久久久久久毛片精品 | 国产精品久久在线观看 | 免费高清在线观看成人 | 国产无遮挡猛进猛出免费软件 | 亚洲一区欧美激情 | 久久久久电影网站 | 99精品国产在热久久下载 | 黄色三级在线看 | 亚洲精品久久久久中文字幕m男 | 国产精品电影一区 | 国产亚洲综合在线 | 天天天天天天天天操 | 国产福利91精品张津瑜 | 久久精品美女 | 99r在线精品| 久久免费公开视频 | 免费观看v片在线观看 | 国产黄a三级三级三级三级三级 | 日韩三区在线观看 | 一级片免费观看视频 | 丁香五香天综合情 | 久久久久综合视频 | 久久精品电影院 | 国内精品久久久久久久久久久 | 亚洲精品字幕在线观看 | 天天操天天操天天操天天操 | 久久精选| 国产在线精品观看 | 在线观看一 | 五月天丁香亚洲 | 麻豆视频免费在线 | 黄色精品免费 | 亚洲激情在线观看 | 超碰在线9 | 国内精品视频久久 | av成人动漫在线观看 | 色多多污污在线观看 | 国产免费人成xvideos视频 | 久草免费福利在线观看 | 69精品视频 | 97香蕉久久国产在线观看 | 国产999精品久久久影片官网 | 免费视频久久久 | 97超碰人人干 | 亚洲成人精品在线 | 69精品 | 四虎影视成人精品国库在线观看 | 亚洲1区 在线 | 操一草| 一区二区三区在线观看 | 69亚洲精品 | 在线视频一区观看 | 99视| 久久性生活片 | 成人久久免费 | 在线看一区 | 操高跟美女 | 97在线视频免费 | 91成人免费在线 | 午夜精品一区二区三区在线 | 国产黄在线观看 | 国产精品久久久久久久久大全 | 国内外激情视频 | 国产一区播放 | 国产精品视频免费观看 | 国产手机视频在线观看 | 精品一区 在线 | 美女网站视频免费黄 | 天天操夜夜想 | 成年人免费观看在线视频 | 青青河边草观看完整版高清 | 日韩毛片在线免费观看 | 在线观看成人毛片 | 色婷婷综合视频在线观看 | 国产日韩欧美在线一区 | 人人干人人艹 | 91精品国产欧美一区二区成人 | 日本一区二区不卡高清 | 黄色av免费在线 | 国产剧情一区 | av九九九 | 91精品国产麻豆国产自产影视 | 国产精品18videosex性欧美 | 国产视频丨精品|在线观看 国产精品久久久久久久久久久久午夜 | 99视频在线免费观看 | 高清av中文字幕 | 中文在线a天堂 | 涩涩成人在线 | 国产黄色片免费观看 | 激情婷婷色 | 天天操天天操天天操天天 | 国产黄色在线观看 | 日韩在线不卡av | 亚洲婷婷在线 | 国产亚洲综合在线 | 日本久久久久久科技有限公司 | 6080yy午夜一二三区久久 | 91在线免费观看网站 | av大全在线免费观看 | 欧美男男tv网站 | 欧美日韩久久不卡 | 香蕉在线视频播放网站 | 日韩欧美在线观看一区二区三区 | 97综合在线 | 亚洲美女视频在线 | 中文字幕欲求不满 | 婷婷久久精品 | 亚洲精品午夜久久久久久久久久久 | 久久6精品| 成年人免费在线观看 | 免费在线观看一区 | av在线播放一区二区三区 | 99爱视频在线观看 | 胖bbbb搡bbbb擦bbbb| 在线免费观看黄色 | 精品国产一区二区三区蜜臀 | 国产黄色精品视频 | 又黄又刺激的视频 | 国产精品久久久久久久久婷婷 | 天天天天天天天操 | 最近日本中文字幕 | 国产 欧美 日韩 | 五月婷久 | 91成人观看 | 久久精品视频一 | 日韩无在线 | 98久久 | 99久久视频 | 最新国产一区二区三区 | 亚洲黄色小说网 | 国产精品99久久久久人中文网介绍 | 成人在线电影观看 | 91精品国自产在线 | 国产手机在线播放 | 激情文学综合丁香 | 中文字幕在线观看91 | 国产香蕉97碰碰碰视频在线观看 | 免费看搞黄视频网站 | 伊人色**天天综合婷婷 | 天天做天天爱天天综合网 | 99国内精品久久久久久久 | 久久精品视频免费观看 | 激情久久综合 | 国内一区二区视频 | 色婷婷视频在线观看 | 精品国产乱码一区二区三区在线 | 国产成人久久久77777 | 最近能播放的中文字幕 | 亚洲最大成人网4388xx | 天天综合天天综合 | 狠狠的操| 亚洲日本中文字幕在线观看 | 91c网站色版视频 | 久久久久久久av麻豆果冻 | 黄色毛片在线 | 黄色大片av | 日韩网| 欧美伊人网| 日韩精品视频第一页 | 国产小视频国产精品 | 久久66热这里只有精品 | av在线免费观看网站 | 天天操天天添天天吹 | 国产精品久久99精品毛片三a | 国产在线播放一区二区三区 | 亚洲国产中文字幕在线观看 | 亚洲精品日韩一区二区电影 | 黄色影院在线播放 | www.狠狠操 | 一二区电影 | 人人玩人人添人人 | 久久伊人色综合 | 国产精品免费大片视频 | av观看免费在线 | 99热这里精品 | 人人精久| 黄色大全免费网站 | 久久久久久久久久电影 | 久久久久北条麻妃免费看 | 国产最新视频在线观看 | 成年人在线免费看 | 国产大陆亚洲精品国产 | www夜夜| 在线观看av麻豆 | www久草 | 麻豆影视在线观看 | 国产视频中文字幕 | 丰满少妇在线观看 | 天天av综合网 | 精品久久久免费视频 | 色a在线观看 | aaa免费毛片 | 中文字幕麻豆 | 福利视频入口 | 久久久久久久久久伊人 | 国产91精品看黄网站在线观看动漫 | 国产黄大片在线观看 | 中文字幕婷婷 | 成人影音在线 | 国产一区二区在线播放 | 亚洲国产高清在线观看视频 | 亚洲电影久久久 | av资源在线观看 | 91精品国自产在线 | 国产视频在线观看一区二区 | 99热这里只有精品久久 | 精品99999 | 插插插色综合 | 成人午夜性影院 | 国产 日韩 在线 亚洲 字幕 中文 | 日本最新高清不卡中文字幕 | 久久99久久99精品 | 婷婷丁香导航 | 久久久久久久久综合 | 色婷婷电影网 | 成人av电影免费在线观看 | 精品久久一 | 丁香婷婷激情 | 欧美一区二区三区免费观看 | 色综合久久综合 | 国产精品久久久久久99 | 国产精品亚州 | 91av超碰| 九九免费观看视频 | 国产二区视频在线 | 在线观看国产日韩欧美 | 区一区二区三区中文字幕 | 99久久久久成人国产免费 | 久久精品国产精品亚洲 | 五月天网站在线 | 免费网站黄色 | 中文国产在线观看 | 天天爱天天插 | 色婷婷免费视频 | 狠狠干狠狠插 | 天天干,狠狠干 | 亚洲精品国产精品久久99 | 久久久久久久久网站 | 色吊丝在线永久观看最新版本 | 2000xxx影视| 又爽又黄又刺激的视频 | 国产手机免费视频 | 黄色在线观看污 | 久久视频在线观看免费 | 丁香九月激情 | 在线免费观看黄色大片 | 久久香蕉电影网 | 亚洲欧洲视频 | 天天干天天操天天搞 | 六月婷色 | 99视频在线观看免费 | 久久精品欧美视频 | 国产精品大片免费观看 | 深夜福利视频在线观看 | 精品伦理一区二区三区 | www99精品| 网址你懂的在线观看 | 激情视频综合网 | 97超碰在线免费观看 | 亚洲精品午夜aaa久久久 | 国产精品亚洲片在线播放 | 日韩v欧美v日本v亚洲v国产v | 麻豆国产精品va在线观看不卡 | 人成电影网 | 国产中文字幕在线免费观看 | 国模一二三区 | 狠狠色伊人亚洲综合网站野外 | 欧美亚洲三级 | 国产成人精品一区二区三区福利 | 在线成人免费电影 | 最新日韩在线观看视频 | 粉嫩av一区二区三区四区在线观看 | 欧美最猛性xxxxx免费 | 成人精品999| 狠狠干婷婷色 | 最新国产视频 | 国产福利免费在线观看 | 欧美午夜理伦三级在线观看 | 国产精品久久久久久久久大全 | 97超碰人人 | 99色在线 | 水蜜桃亚洲一二三四在线 | 一级特黄aaa大片在线观看 | 99精品福利视频 | 亚洲三级av | 欧美亚洲免费在线一区 | 亚洲综合成人av | 波多野结衣网址 | av在线h | 久草在线免费资源站 | 深爱激情五月综合 | 国产精品观看 | 一级黄色视屏 | 免费视频黄色 | 最近中文字幕在线 | 亚洲精品白浆高清久久久久久 | 天堂av最新网址 | 1000部国产精品成人观看 | 天天舔天天射天天操 | 亚洲精品高清在线 | 国产精品麻 | 色偷偷88888欧美精品久久 | 国产精品精品国产婷婷这里av | 国产精品理论片 | 国产视频一区在线免费观看 | 在线视频你懂得 | 91在线观看视频网站 | 香蕉视频在线观看免费 | 一区二区激情 | 亚洲午夜久久久久久久久久久 | av 一区二区三区四区 | 麻豆国产网站入口 | 在线91网 | 日韩理论在线视频 | 在线 视频 一区二区 | 狠狠插狠狠干 | 天天爱天天干天天爽 | 一区三区视频 | www.久久色 | 伊甸园永久入口www 99热 精品在线 | 亚洲成年片 | 亚洲精品97 | 国产97色在线 | 人人模人人爽 | 91色在线观看视频 | 日韩在线观看第一页 | 欧美最新大片在线看 | 亚洲网站在线看 | 玖玖视频精品 | 伊人夜夜| 国偷自产视频一区二区久 | 成人黄色在线看 | 亚洲免费不卡 | 欧美日韩高清一区二区 国产亚洲免费看 | 黄影院| 叶爱av在线 | 久久久久久中文字幕 | 国产一区二区视频在线播放 | 色综合天天色 | 久久久久久久久影院 | 黄色91在线观看 | 夜夜摸夜夜爽 | 正在播放一区二区 | 日韩网站在线观看 | 成人综合婷婷国产精品久久免费 | 国产91免费看 | 国产精品久久二区 | 五月婷婷国产 | 天天干夜夜干 | 在线观看国产日韩 | 一区二区三区四区免费视频 | 一区二区三区观看 | 天天操天天爱天天干 | 免费亚洲成人 | 久久国产热视频 | 91亚洲精品久久久蜜桃网站 | 国产五码一区 | 日韩成人不卡 | 18岁免费看片| 亚洲日韩欧美视频 | 国产成人精品一区二区三区 | 精品a视频 | 黄色亚洲在线 | 激情五月五月婷婷 | 97视频亚洲 | 日韩在线网址 | 日日操网站 | 天天激情站 | 欧美另类交人妖 | 黄色视屏免费在线观看 | 91高清不卡 | 天堂网中文在线 | 国产精品欧美久久 | 国产香蕉97碰碰久久人人 | 伊人伊成久久人综合网站 | 色综合久久88 | 18久久久 | 日日碰夜夜爽 | 香蕉视频啪啪 | 久草在线在线精品观看 | 在线成人中文字幕 | 免费看v片网站 | av中文字幕第一页 | 六月激情网 | 免费福利在线观看 | 在线看片日韩 | 色综合天天色综合 | 韩日三级av | 久久精品96 | 色综合久久88色综合天天 | 国产精品网红直播 | 欧美精品小视频 | 久久精品aaa | 国产美女主播精品一区二区三区 | 激情五月综合 | 久久久一本精品99久久精品66 | 精品亚洲免费视频 | 久久久久蜜桃 | 最近免费中文视频 |