婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識(shí)庫 > 淺談pg_hint_plan定制執(zhí)行計(jì)劃

淺談pg_hint_plan定制執(zhí)行計(jì)劃

熱門標(biāo)簽:電話機(jī)器人怎么換人工座席 江蘇400電話辦理官方 廣州電銷機(jī)器人公司招聘 天津開發(fā)區(qū)地圖標(biāo)注app 移動(dòng)外呼系統(tǒng)模擬題 400電話申請(qǐng)客服 電銷機(jī)器人能補(bǔ)救房產(chǎn)中介嗎 濟(jì)南外呼網(wǎng)絡(luò)電話線路 地圖標(biāo)注要花多少錢

有的時(shí)候PG給出的執(zhí)行計(jì)劃由于很多原因并不是最優(yōu)的,需要手動(dòng)指定執(zhí)行路徑時(shí)我們可以加載pg_hint_plan這個(gè)插件。

1 安裝插件

預(yù)先安裝Postgresql10.7

cd postgresql-10.7/contrib/
wget https://github.com/ossc-db/pg_hint_plan/archive/REL10_1_3_3.tar.gz
tar xzvf pg_hint_plan-REL10_1_3_3.tar.gz
cd pg_hint_plan-REL10_1_3_3
make
make install

檢查文件

cd $PGHOME
ls lib/pg_hint_plan.so
lib/pg_hint_plan.so
ls share/extension/
pg_hint_plan--1.3.0--1.3.1.sql pg_hint_plan--1.3.2--1.3.3.sql pg_hint_plan.control plpgsql.control
pg_hint_plan--1.3.1--1.3.2.sql pg_hint_plan--1.3.3.sql   plpgsql--1.0.sql  plpgsql--unpackaged--1.0.sql

2 加載插件

2.1 當(dāng)前會(huì)話加載

LOAD 'pg_hint_plan';

注意這樣加載只在當(dāng)前回話生效。

2.2 用戶、庫級(jí)自動(dòng)加載

alter user postgres set session_preload_libraries='pg_hint_plan';
alter database postgres set session_preload_libraries='pg_hint_plan';

配置錯(cuò)了的話就連不上數(shù)據(jù)庫了!

如果配置錯(cuò)了,連接template1庫執(zhí)行

alter database postgres reset session_preload_libraries;
alter user postgres reset session_preload_libraries;

2.3 cluster級(jí)自動(dòng)加載

在postgresql.conf中修改shared_preload_libraries=‘pg_hint_plan'

重啟數(shù)據(jù)庫

3 檢查是否已經(jīng)加載

pg_hint_plan加載后在extension里面是看不到的,所以需要確認(rèn)插件是否已經(jīng)加載

show session_preload_libraries;
 session_preload_libraries
---------------------------
 pg_hint_plan

或者

show shared_preload_libraries;

如果使用load方式加載不需要檢查。

4 使用插件定制執(zhí)行計(jì)劃

4.1 初始化測(cè)試數(shù)據(jù)

create table t1 (id int, t int, name varchar(255));
create table t2 (id int , salary int);
create table t3 (id int , age int);
insert into t1 values (1,200,'jack');
insert into t1 values (2,300,'tom');
insert into t1 values (3,400,'john');
insert into t2 values (1,40000);
insert into t2 values (2,38000);
insert into t2 values (3,18000);
insert into t3 values (3,38);
insert into t3 values (2,55);
insert into t3 values (1,12);
explain analyze select * from t1 left join t2 on t1.id=t2.id left join t3 on t1.id=t3.id;
              QUERY PLAN
-------------------------------------------------------------------------------------------------------------------------
 Hash Right Join (cost=89.82..337.92 rows=17877 width=540) (actual time=0.053..0.059 rows=3 loops=1)
 Hash Cond: (t3.id = t1.id)
 -> Seq Scan on t3 (cost=0.00..32.60 rows=2260 width=8) (actual time=0.002..0.002 rows=3 loops=1)
 -> Hash (cost=70.05..70.05 rows=1582 width=532) (actual time=0.042..0.043 rows=3 loops=1)
   Buckets: 2048 Batches: 1 Memory Usage: 17kB
   -> Hash Right Join (cost=13.15..70.05 rows=1582 width=532) (actual time=0.034..0.039 rows=3 loops=1)
    Hash Cond: (t2.id = t1.id)
    -> Seq Scan on t2 (cost=0.00..32.60 rows=2260 width=8) (actual time=0.002..0.002 rows=3 loops=1)
    -> Hash (cost=11.40..11.40 rows=140 width=524) (actual time=0.017..0.017 rows=3 loops=1)
      Buckets: 1024 Batches: 1 Memory Usage: 9kB
      -> Seq Scan on t1 (cost=0.00..11.40 rows=140 width=524) (actual time=0.010..0.011 rows=3 loops=1)
 Planning time: 0.154 ms
 Execution time: 0.133 ms

創(chuàng)建索引

create index idx_t1_id on t1(id);
create index idx_t2_id on t2(id);
create index idx_t3_id on t3(id);
explain analyze select * from t1 left join t2 on t1.id=t2.id left join t3 on t1.id=t3.id;
             QUERY PLAN
--------------------------------------------------------------------------------------------------------------
 Hash Left Join (cost=2.14..3.25 rows=3 width=540) (actual time=0.045..0.047 rows=3 loops=1)
 Hash Cond: (t1.id = t3.id)
 -> Hash Left Join (cost=1.07..2.14 rows=3 width=532) (actual time=0.030..0.032 rows=3 loops=1)
   Hash Cond: (t1.id = t2.id)
   -> Seq Scan on t1 (cost=0.00..1.03 rows=3 width=524) (actual time=0.005..0.006 rows=3 loops=1)
   -> Hash (cost=1.03..1.03 rows=3 width=8) (actual time=0.007..0.007 rows=3 loops=1)
    Buckets: 1024 Batches: 1 Memory Usage: 9kB
    -> Seq Scan on t2 (cost=0.00..1.03 rows=3 width=8) (actual time=0.002..0.003 rows=3 loops=1)
 -> Hash (cost=1.03..1.03 rows=3 width=8) (actual time=0.005..0.005 rows=3 loops=1)
   Buckets: 1024 Batches: 1 Memory Usage: 9kB
   -> Seq Scan on t3 (cost=0.00..1.03 rows=3 width=8) (actual time=0.002..0.002 rows=3 loops=1)
 Planning time: 0.305 ms
 Execution time: 0.128 ms

4.2 強(qiáng)制走index scan

/*+ indexscan(t1 idx_d)
/*+ indexscan(t1 idx_t1_id)
explain (analyze,buffers) select * from t1 where id=2;
           QUERY PLAN
----------------------------------------------------------------------------------------------
 Seq Scan on t1 (cost=0.00..1.04 rows=1 width=524) (actual time=0.011..0.013 rows=1 loops=1)
 Filter: (id = 2)
 Rows Removed by Filter: 2
 Buffers: shared hit=1
 Planning time: 0.058 ms
 Execution time: 0.028 ms
explain (analyze,buffers) /*+ indexscan(t1) */select * from t1 where id=2;
             QUERY PLAN
----------------------------------------------------------------------------------------------------------------
 Index Scan using idx_t1_id on t1 (cost=0.13..8.15 rows=1 width=524) (actual time=0.044..0.046 rows=1 loops=1)
 Index Cond: (id = 2)
 Buffers: shared hit=1 read=1
 Planning time: 0.145 ms
 Execution time: 0.072 ms
explain (analyze,buffers) /*+ indexscan(t1 idx_t1_id) */select * from t1 where id=2;
             QUERY PLAN
----------------------------------------------------------------------------------------------------------------
 Index Scan using idx_t1_id on t1 (cost=0.13..8.15 rows=1 width=524) (actual time=0.016..0.017 rows=1 loops=1)
 Index Cond: (id = 2)
 Buffers: shared hit=2
 Planning time: 0.079 ms
 Execution time: 0.035 ms

4.3 強(qiáng)制多條件組合

/*+ indexscan(t2) indexscan(t1 idx_t1_id) */
/*+ seqscan(t2) indexscan(t1 idx_t1_id) */
explain analyze SELECT * FROM t1 JOIN t2 ON (t1.id = t2.id);
            QUERY PLAN
--------------------------------------------------------------------------------------------------------
 Hash Join (cost=1.07..2.14 rows=3 width=532) (actual time=0.018..0.020 rows=3 loops=1)
 Hash Cond: (t1.id = t2.id)
 -> Seq Scan on t1 (cost=0.00..1.03 rows=3 width=524) (actual time=0.006..0.007 rows=3 loops=1)
 -> Hash (cost=1.03..1.03 rows=3 width=8) (actual time=0.005..0.005 rows=3 loops=1)
   Buckets: 1024 Batches: 1 Memory Usage: 9kB
   -> Seq Scan on t2 (cost=0.00..1.03 rows=3 width=8) (actual time=0.001..0.003 rows=3 loops=1)
 Planning time: 0.114 ms
 Execution time: 0.055 ms
(8 rows)

組合兩個(gè)條件走indexscan

/*+ indexscan(t2) indexscan(t1 idx_t1_id) */explain analyze SELECT * FROM t1 JOIN t2 ON (t1.id = t2.id);
              QUERY PLAN
-----------------------------------------------------------------------------------------------------------------------
 Merge Join (cost=0.26..24.40 rows=3 width=532) (actual time=0.047..0.053 rows=3 loops=1)
 Merge Cond: (t1.id = t2.id)
 -> Index Scan using idx_t1_id on t1 (cost=0.13..12.18 rows=3 width=524) (actual time=0.014..0.015 rows=3 loops=1)
 -> Index Scan using idx_t2_id on t2 (cost=0.13..12.18 rows=3 width=8) (actual time=0.026..0.028 rows=3 loops=1)

組合兩個(gè)條件走indexscan+seqscan

/*+ seqscan(t2) indexscan(t1 idx_t1_id) */explain analyze SELECT * FROM t1 JOIN t2 ON (t1.id = t2.id);
              QUERY PLAN
-----------------------------------------------------------------------------------------------------------------------
 Nested Loop (cost=0.13..13.35 rows=3 width=532) (actual time=0.025..0.032 rows=3 loops=1)
 Join Filter: (t1.id = t2.id)
 Rows Removed by Join Filter: 6
 -> Index Scan using idx_t1_id on t1 (cost=0.13..12.18 rows=3 width=524) (actual time=0.016..0.018 rows=3 loops=1)
 -> Materialize (cost=0.00..1.04 rows=3 width=8) (actual time=0.002..0.003 rows=3 loops=3)
   -> Seq Scan on t2 (cost=0.00..1.03 rows=3 width=8) (actual time=0.004..0.005 rows=3 loops=1)

4.4 強(qiáng)制指定join method

/*+ NestLoop(t1 t2) MergeJoin(t1 t2 t3) Leading(t1 t2 t3) */
/*+ NestLoop(t1 t2 t3) MergeJoin(t2 t3) Leading(t1 (t2 t3)) */
explain analyze select * from t1 left join t2 on t1.id=t2.id left join t3 on t1.id=t3.id;
             QUERY PLAN
--------------------------------------------------------------------------------------------------------------
 Hash Left Join (cost=2.14..3.25 rows=3 width=540) (actual time=0.053..0.056 rows=3 loops=1)
 Hash Cond: (t1.id = t3.id)
 -> Hash Left Join (cost=1.07..2.14 rows=3 width=532) (actual time=0.036..0.038 rows=3 loops=1)
   Hash Cond: (t1.id = t2.id)
   -> Seq Scan on t1 (cost=0.00..1.03 rows=3 width=524) (actual time=0.007..0.007 rows=3 loops=1)
   -> Hash (cost=1.03..1.03 rows=3 width=8) (actual time=0.009..0.009 rows=3 loops=1)
    Buckets: 1024 Batches: 1 Memory Usage: 9kB
    -> Seq Scan on t2 (cost=0.00..1.03 rows=3 width=8) (actual time=0.002..0.003 rows=3 loops=1)
 -> Hash (cost=1.03..1.03 rows=3 width=8) (actual time=0.006..0.006 rows=3 loops=1)
   Buckets: 1024 Batches: 1 Memory Usage: 9kB
   -> Seq Scan on t3 (cost=0.00..1.03 rows=3 width=8) (actual time=0.002..0.003 rows=3 loops=1)

強(qiáng)制走循環(huán)嵌套連接

/*+ NestLoop(t1 t2) MergeJoin(t1 t2 t3) Leading(t1 t2 t3) */
explain analyze select * from t1 left join t2 on t1.id=t2.id left join t3 on t1.id=t3.id;
              QUERY PLAN
--------------------------------------------------------------------------------------------------------------------
 Merge Left Join (cost=3.28..3.34 rows=3 width=540) (actual time=0.093..0.096 rows=3 loops=1)
 Merge Cond: (t1.id = t3.id)
 -> Sort (cost=2.23..2.23 rows=3 width=532) (actual time=0.077..0.078 rows=3 loops=1)
   Sort Key: t1.id
   Sort Method: quicksort Memory: 25kB
   -> Nested Loop Left Join (cost=0.00..2.20 rows=3 width=532) (actual time=0.015..0.020 rows=3 loops=1)
    Join Filter: (t1.id = t2.id)
    Rows Removed by Join Filter: 6
    -> Seq Scan on t1 (cost=0.00..1.03 rows=3 width=524) (actual time=0.005..0.005 rows=3 loops=1)
    -> Materialize (cost=0.00..1.04 rows=3 width=8) (actual time=0.002..0.003 rows=3 loops=3)
      -> Seq Scan on t2 (cost=0.00..1.03 rows=3 width=8) (actual time=0.002..0.003 rows=3 loops=1)
 -> Sort (cost=1.05..1.06 rows=3 width=8) (actual time=0.012..0.013 rows=3 loops=1)
   Sort Key: t3.id
   Sort Method: quicksort Memory: 25kB
   -> Seq Scan on t3 (cost=0.00..1.03 rows=3 width=8) (actual time=0.002..0.003 rows=3 loops=1)

控制連接順序

/*+ NestLoop(t1 t2 t3) MergeJoin(t2 t3) Leading(t1 (t2 t3)) */
explain analyze select * from t1 left join t2 on t1.id=t2.id left join t3 on t1.id=t3.id;
QUERY PLAN
--------------------------------------------------------------------------------------------------------------
 Nested Loop Left Join (cost=1.07..3.31 rows=3 width=540) (actual time=0.036..0.041 rows=3 loops=1)
 Join Filter: (t1.id = t3.id)
 Rows Removed by Join Filter: 6
 -> Hash Left Join (cost=1.07..2.14 rows=3 width=532) (actual time=0.030..0.032 rows=3 loops=1)
   Hash Cond: (t1.id = t2.id)
   -> Seq Scan on t1 (cost=0.00..1.03 rows=3 width=524) (actual time=0.008..0.009 rows=3 loops=1)
   -> Hash (cost=1.03..1.03 rows=3 width=8) (actual time=0.007..0.007 rows=3 loops=1)
    Buckets: 1024 Batches: 1 Memory Usage: 9kB
    -> Seq Scan on t2 (cost=0.00..1.03 rows=3 width=8) (actual time=0.002..0.004 rows=3 loops=1)
 -> Materialize (cost=0.00..1.04 rows=3 width=8) (actual time=0.001..0.002 rows=3 loops=3)
   -> Seq Scan on t3 (cost=0.00..1.03 rows=3 width=8) (actual time=0.002..0.003 rows=3 loops=1)

4.5 控制單條SQL的cost

/*+ set(seq_page_cost 20.0) seqscan(t1) */
/*+ set(seq_page_cost 20.0) seqscan(t1) */explain analyze select * from t1 where id > 1;
           QUERY PLAN
-----------------------------------------------------------------------------------------------
 Seq Scan on t1 (cost=0.00..20.04 rows=1 width=524) (actual time=0.011..0.013 rows=2 loops=1)
 Filter: (id > 1)
 Rows Removed by Filter: 1

set seq_page_cost 200,注意下面的cost已經(jīng)變成了200.04

/*+ set(seq_page_cost 200.0) seqscan(t1) */explain analyze select * from t1 where id > 1;
           QUERY PLAN
------------------------------------------------------------------------------------------------
 Seq Scan on t1 (cost=0.00..200.04 rows=1 width=524) (actual time=0.010..0.011 rows=2 loops=1)
 Filter: (id > 1)
 Rows Removed by Filter: 1

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • PostgreSQL 慢查詢SQL跟蹤操作
  • CentOS PostgreSQL 12 主從復(fù)制(主從切換)操作
  • PostgreSQL 查看表的主外鍵等約束關(guān)系詳解
  • PostgreSQL 修改視圖的操作
  • PostgreSQL 更新視圖腳本的注意事項(xiàng)說明
  • postgreSQL中的row_number() 與distinct用法說明
  • Postgresql 動(dòng)態(tài)統(tǒng)計(jì)某一列的某一值出現(xiàn)的次數(shù)實(shí)例
  • postgresql 計(jì)算兩點(diǎn)距離的2種方法小結(jié)

標(biāo)簽:榆林 昭通 杭州 寶雞 海西 濮陽 辛集 溫州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《淺談pg_hint_plan定制執(zhí)行計(jì)劃》,本文關(guān)鍵詞  淺談,hint,plan,定制,執(zhí)行,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《淺談pg_hint_plan定制執(zhí)行計(jì)劃》相關(guān)的同類信息!
  • 本頁收集關(guān)于淺談pg_hint_plan定制執(zhí)行計(jì)劃的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美一区二区三区不卡| 91视频精品在这里| 国产精品亚洲а∨天堂免在线| 国产在线播放一区三区四| 国产精品亚洲人在线观看| 欧美日韩视频一区二区| 久久99在线观看| 欧美成人aa大片| 久久精品人人做人人综合| 欧美性色aⅴ视频一区日韩精品| 国产精品区一区二区三区 | 欧美精品一区二区久久婷婷| 丝袜美腿亚洲色图| 91国偷自产一区二区三区成为亚洲经典 | 这里只有精品电影| 一区二区三区资源| 国产一区二区精品久久91| 91麻豆高清视频| 亚洲午夜免费视频| 亚洲成av人影院| 国产精品综合视频| 91福利在线免费观看| 久久这里只有精品6| 岛国一区二区在线观看| 亚洲男同1069视频| 精品少妇一区二区三区在线视频| 成人av网站在线| 亚洲一区二区三区视频在线 | 久久久亚洲欧洲日产国码αv| 老司机一区二区| 国产欧美一区二区精品久导航 | av网站一区二区三区| 欧美日韩国产天堂| 亚洲欧美日韩国产中文在线| 国产精品色哟哟网站| 日韩视频一区在线观看| 成人国产一区二区三区精品| 玉足女爽爽91| 2020国产精品| 欧美在线小视频| 国产真实乱对白精彩久久| 一区二区三区日本| 日韩一区二区三区免费观看| 成人黄色在线视频| 精品在线播放午夜| 亚洲va欧美va国产va天堂影院| 精品久久久久久久人人人人传媒| 国产.欧美.日韩| 日韩—二三区免费观看av| 欧美xxxxx裸体时装秀| caoporen国产精品视频| 国产欧美一区二区三区在线老狼| 91在线看国产| 日韩欧美国产麻豆| 亚洲精选一二三| 精一区二区三区| 成人黄色大片在线观看| 欧美日韩精品久久久| 中文字幕免费不卡| 亚洲狼人国产精品| 国产suv一区二区三区88区| 欧美亚洲综合久久| 欧美三级在线看| 国产在线观看免费一区| 99久免费精品视频在线观看| 欧美人xxxx| 中文字幕一区二区三区不卡| 五月天中文字幕一区二区| 精品一区二区三区在线视频| 国产福利一区二区三区| 91九色最新地址| 欧美日韩情趣电影| 国产亚洲欧美在线| 欧美日韩午夜在线视频| 一本色道久久综合亚洲91 | 26uuu色噜噜精品一区| 亚洲婷婷在线视频| 午夜成人在线视频| 国产麻豆精品视频| 91麻豆精东视频| 日韩女优毛片在线| 在线免费观看一区| 久久久五月婷婷| 亚洲欧美综合色| 成人亚洲精品久久久久软件| 欧美色图一区二区三区| 中文字幕乱码一区二区免费| 一区二区三区四区国产精品| 在线观看网站黄不卡| 国产欧美综合在线| 91网站在线观看视频| 一区二区三区四区不卡在线| 国产最新精品精品你懂的| 成人少妇影院yyyy| 国产欧美精品区一区二区三区 | 亚洲国产综合色| 色偷偷88欧美精品久久久| 亚洲欧美一区二区视频| 99久久久精品| 国产欧美日产一区| 国产成人精品免费一区二区| 欧美日韩综合在线免费观看| 久久久久国产一区二区三区四区| 久久久av毛片精品| 97久久精品人人澡人人爽| 国产欧美一区二区精品婷婷 | 久久久久久久久久电影| 青青草97国产精品免费观看无弹窗版| 色噜噜狠狠色综合欧洲selulu| 国产精品毛片大码女人 | 欧美午夜电影在线播放| 日韩国产欧美在线观看| 日韩欧美美女一区二区三区| 久久精品99国产精品日本| 日韩精品中午字幕| 久久97超碰国产精品超碰| 欧美日本乱大交xxxxx| 91成人国产精品| 99久久777色| 91麻豆精品一区二区三区| 日韩经典中文字幕一区| 久久久久久久久久久黄色 | 国产精品久久久久久久久动漫 | 久久精品亚洲国产奇米99| 欧美成人激情免费网| 成人午夜视频免费看| av网站免费线看精品| 国产成人夜色高潮福利影视| 一区二区三区在线视频观看| 宅男噜噜噜66一区二区66| 国产成人av一区二区三区在线观看| 在线观看免费视频综合| 欧美午夜视频网站| 7777精品久久久大香线蕉 | 色婷婷亚洲婷婷| 亚洲色欲色欲www在线观看| 国产精品久久二区二区| 久久精品夜夜夜夜久久| 久久久午夜电影| 亚洲精品中文在线| 欧美激情在线一区二区| 国产精品不卡在线| 午夜一区二区三区视频| 国模套图日韩精品一区二区 | 麻豆91在线播放| 中文字幕亚洲综合久久菠萝蜜| 午夜精品一区二区三区电影天堂 | 五月天久久比比资源色| 欧美精三区欧美精三区| 丁香六月综合激情| 亚洲国产精品一区二区久久 | 日韩国产成人精品| 精品午夜久久福利影院| 成人免费毛片片v| 中文字幕乱码亚洲精品一区| 一区二区高清视频在线观看| 国产美女精品人人做人人爽| 午夜欧美视频在线观看| 国产一区二区不卡老阿姨| 不卡一区中文字幕| 欧美一区二区精美| 国产a精品视频| 国产福利一区二区| 成人91在线观看| 日韩欧美黄色影院| 精品奇米国产一区二区三区| 国产色婷婷亚洲99精品小说| 精品一区二区三区免费视频| 日韩一级免费观看| 99re热这里只有精品视频| 久久老女人爱爱| 亚洲国产美女搞黄色| 国产精品毛片久久久久久 | 日本三级亚洲精品| 国产成人免费av在线| 欧美乱妇20p| 亚洲三级电影网站| 亚洲蜜臀av乱码久久精品蜜桃| 久久精品噜噜噜成人av农村| 不卡的电视剧免费网站有什么| 最新欧美精品一区二区三区| 成人不卡免费av| 亚洲午夜av在线| 欧美日韩高清影院| 亚洲欧洲性图库| 欧美日韩国产另类不卡| 五月天丁香久久| 欧美区在线观看| 波波电影院一区二区三区| 亚洲国产精品久久一线不卡| 五月天激情小说综合| 久久亚洲综合av| 欧美一区2区视频在线观看| 亚洲色图清纯唯美| 久久影视一区二区| 精彩视频一区二区| 日韩成人av影视| 国产精品毛片高清在线完整版| 欧美高清视频不卡网| 欧美日韩一区二区三区在线看|