Rumah pangkalan data tutorial mysql SQL 语句优化方法30例_MySQL

SQL 语句优化方法30例_MySQL

Jun 01, 2016 pm 01:19 PM
Throughput sumber

bitsCN.com 1. /*+ALL_ROWS*/
表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化.
例如:
SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT';
2. /*+FIRST_ROWS*/
表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小化.
例如:
SELECT /*+FIRST_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT';

3. /*+CHOOSE*/
表明如果数据字典中有访问表的统计信息,将基于开销的优化方法,并获得最佳的吞吐量;
表明如果数据字典中没有访问表的统计信息,将基于规则开销的优化方法;
例如:
SELECT /*+CHOOSE*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT';

4. /*+RULE*/
表明对语句块选择基于规则的优化方法.
例如:
SELECT /*+ RULE */ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT';

5. /*+FULL(TABLE)*/
表明对表选择全局扫描的方法.
例如:
SELECT /*+FULL(A)*/ EMP_NO,EMP_NAM FROM BSEMPMS A WHERE EMP_NO='SCOTT';

6. /*+ROWID(TABLE)*/
提示明确表明对指定表根据ROWID进行访问.
例如:
SELECT /*+ROWID(BSEMPMS)*/ * FROM BSEMPMS WHERE ROWID>='AAAAAAAAAAAAAA'
AND EMP_NO='SCOTT';

7. /*+CLUSTER(TABLE)*/
提示明确表明对指定表选择簇扫描的访问方法,它只对簇对象有效.
例如:
SELECT /*+CLUSTER */ BSEMPMS.EMP_NO,DPT_NO FROM BSEMPMS,BSDPTMS
WHERE DPT_NO='TEC304' AND BSEMPMS.DPT_NO=BSDPTMS.DPT_NO;

8. /*+INDEX(TABLE INDEX_NAME)*/
表明对表选择索引的扫描方法.
例如:
SELECT /*+INDEX(BSEMPMS SEX_INDEX) USE SEX_INDEX BECAUSE THERE ARE FEWMALE BSEMPMS */ FROM BSEMPMS WHERE SEX='M';

9. /*+INDEX_ASC(TABLE INDEX_NAME)*/
表明对表选择索引升序的扫描方法.
例如:
SELECT /*+INDEX_ASC(BSEMPMS PK_BSEMPMS) */ FROM BSEMPMS WHERE DPT_NO='SCOTT';

10. /*+INDEX_COMBINE*/
为指定表选择位图访问路经,如果INDEX_COMBINE中没有提供作为参数的索引,将选择出位图索引的布尔组合方式.
例如:
SELECT /*+INDEX_COMBINE(BSEMPMS SAL_BMI HIREDATE_BMI)*/ * FROM BSEMPMS
WHERE SAL
11. /*+INDEX_JOIN(TABLE INDEX_NAME)*/
提示明确命令优化器使用索引作为访问路径.
例如:
SELECT /*+INDEX_JOIN(BSEMPMS SAL_HMI HIREDATE_BMI)*/ SAL,HIREDATE
FROM BSEMPMS WHERE SAL
12. /*+INDEX_DESC(TABLE INDEX_NAME)*/
表明对表选择索引降序的扫描方法.
例如:
SELECT /*+INDEX_DESC(BSEMPMS PK_BSEMPMS) */ FROM BSEMPMS WHERE DPT_NO='SCOTT';

13. /*+INDEX_FFS(TABLE INDEX_NAME)*/
对指定的表执行快速全索引扫描,而不是全表扫描的办法.
例如:
SELECT /*+INDEX_FFS(BSEMPMS IN_EMPNAM)*/ * FROM BSEMPMS WHERE DPT_NO='TEC305';

14. /*+ADD_EQUAL TABLE INDEX_NAM1,INDEX_NAM2,...*/
提示明确进行执行规划的选择,将几个单列索引的扫描合起来.
例如:
SELECT /*+INDEX_FFS(BSEMPMS IN_DPTNO,IN_EMPNO,IN_SEX)*/ * FROM BSEMPMS WHERE EMP_NO='SCOTT' AND DPT_NO='TDC306';

15. /*+USE_CONCAT*/
对查询中的WHERE后面的OR条件进行转换为UNION ALL的组合查询.
例如:
SELECT /*+USE_CONCAT*/ * FROM BSEMPMS WHERE DPT_NO='TDC506' AND SEX='M';

16. /*+NO_EXPAND*/
对于WHERE后面的OR 或者IN-LIST的查询语句,NO_EXPAND将阻止其基于优化器对其进行扩展.
例如:
SELECT /*+NO_EXPAND*/ * FROM BSEMPMS WHERE DPT_NO='TDC506' AND SEX='M';

17. /*+NOWRITE*/
禁止对查询块的查询重写操作.

18. /*+REWRITE*/
可以将视图作为参数.

19. /*+MERGE(TABLE)*/
能够对视图的各个查询进行相应的合并.
例如:
SELECT /*+MERGE(V) */ A.EMP_NO,A.EMP_NAM,B.DPT_NO FROM BSEMPMS A (SELET DPT_NO
,AVG(SAL) AS AVG_SAL FROM BSEMPMS B GROUP BY DPT_NO) V WHERE A.DPT_NO=V.DPT_NO
AND A.SAL>V.AVG_SAL;

20. /*+NO_MERGE(TABLE)*/
对于有可合并的视图不再合并.
例如:
SELECT /*+NO_MERGE(V) */ A.EMP_NO,A.EMP_NAM,B.DPT_NO FROM BSEMPMS A (SELECT DPT_NO,AVG(SAL) AS AVG_SAL FROM BSEMPMS B GROUP BY DPT_NO) V WHERE A.DPT_NO=V.DPT_NO AND A.SAL>V.AVG_SAL;

21. /*+ORDERED*/
根据表出现在FROM中的顺序,ORDERED使ORACLE依此顺序对其连接.
例如:
SELECT /*+ORDERED*/ A.COL1,B.COL2,C.COL3 FROM TABLE1 A,TABLE2 B,TABLE3 C WHERE A.COL1=B.COL1 AND B.COL1=C.COL1;

22. /*+USE_NL(TABLE)*/
将指定表与嵌套的连接的行源进行连接,并把指定表作为内部表.
例如:
SELECT /*+ORDERED USE_NL(BSEMPMS)*/ BSDPTMS.DPT_NO,BSEMPMS.EMP_NO,BSEMPMS.EMP_NAM FROM BSEMPMS,BSDPTMS WHERE BSEMPMS.DPT_NO=BSDPTMS.DPT_NO;

23. /*+USE_MERGE(TABLE)*/
将指定的表与其他行源通过合并排序连接方式连接起来.
例如:
SELECT /*+USE_MERGE(BSEMPMS,BSDPTMS)*/ * FROM BSEMPMS,BSDPTMS WHERE BSEMPMS.DPT_NO=BSDPTMS.DPT_NO;

24. /*+USE_HASH(TABLE)*/
将指定的表与其他行源通过哈希连接方式连接起来.
例如:
SELECT /*+USE_HASH(BSEMPMS,BSDPTMS)*/ * FROM BSEMPMS,BSDPTMS WHERE BSEMPMS.DPT_NO=BSDPTMS.DPT_NO;

25. /*+DRIVING_SITE(TABLE)*/
强制与ORACLE所选择的位置不同的表进行查询执行.
例如:
SELECT /*+DRIVING_SITE(DEPT)*/ * FROM BSEMPMS,DEPT@BSDPTMS WHERE BSEMPMS.DPT_NO=DEPT.DPT_NO;

26. /*+LEADING(TABLE)*/
将指定的表作为连接次序中的首表.

27. /*+CACHE(TABLE)*/
当进行全表扫描时,CACHE提示能够将表的检索块放置在缓冲区缓存中最近最少列表LRU的最近使用端
例如:
SELECT /*+FULL(BSEMPMS) CAHE(BSEMPMS) */ EMP_NAM FROM BSEMPMS;

28. /*+NOCACHE(TABLE)*/
当进行全表扫描时,CACHE提示能够将表的检索块放置在缓冲区缓存中最近最少列表LRU的最近使用端
例如:
SELECT /*+FULL(BSEMPMS) NOCAHE(BSEMPMS) */ EMP_NAM FROM BSEMPMS;

29. /*+APPEND*/
直接插入到表的最后,可以提高速度.
insert /*+append*/ into test1 select * from test4 ;

30. /*+NOAPPEND*/
通过在插入语句生存期内停止并行模式来启动常规插入.
insert /*+noappend*/ into test1 select * from test4 ;bitsCN.com

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk mencari sumber pada cakera rangkaian 115 Bagaimana untuk mencari sumber pada cakera rangkaian 115 Feb 23, 2024 pm 05:10 PM

Akan ada banyak sumber dalam cakera rangkaian 115, jadi bagaimana untuk mencari sumber? Pengguna boleh mencari sumber yang mereka perlukan dalam perisian, kemudian masukkan antara muka muat turun, dan kemudian memilih untuk menyimpan ke cakera rangkaian. Pengenalan kepada kaedah mencari sumber pada cakera rangkaian 115 ini boleh memberitahu anda kandungan tertentu Berikut ialah pengenalan terperinci, datang dan lihat. Bagaimana untuk mencari sumber pada cakera rangkaian 115 Jawapan: Cari kandungan dalam perisian, dan kemudian klik untuk menyimpan ke cakera rangkaian. Pengenalan terperinci: 1. Mula-mula masukkan sumber yang anda inginkan dalam apl. 2. Kemudian klik pautan kata kunci yang muncul. 3. Kemudian masukkan antara muka muat turun. 4. Klik Simpan ke cakera rangkaian di dalam.

Explorer.exe ranap dalam mod selamat Windows 11 tidak lagi berlaku Explorer.exe ranap dalam mod selamat Windows 11 tidak lagi berlaku Aug 30, 2023 pm 11:09 PM

Explorer.exe ranap dalam Mod Selamat pada Windows 11? Tiada lagi. Microsoft baru sahaja mengeluarkan tampung baharu pada Saluran Dev, dan walaupun tiada ciri baharu dalam keluaran ini, banyak pembaikan dan penambahbaikan sedang menuju ke Program Windows Insider, termasuk pepijat yang menjengkelkan di mana Explorer.exe ranap dalam Mod Selamat. Nah, anda boleh mengucapkan selamat tinggal kepadanya sekarang, sekurang-kurangnya dalam Program Windows Insider. Tetapi seperti semua kemas kini ini, mereka juga akan datang ke pelayan Windows secara langsung. Memperbaiki isu yang menyebabkan Explorer.exe tidak berfungsi dalam mod selamat. Walau bagaimanapun, terdapat beberapa pembaikan lain yang akan datang ke File Explorer, jadi Microsoft berminat untuk memastikannya berfungsi

Mengapa Han Xiaoquan tiba-tiba tidak mempunyai sumber? Mengapa Han Xiaoquan tiba-tiba tidak mempunyai sumber? Feb 24, 2024 pm 03:22 PM

Han Xiaoquan ialah perisian yang boleh menonton banyak drama Korea, jadi kenapa tiba-tiba tiada sumber? Perisian ini mungkin tidak mempunyai sumber kerana masalah rangkaian, masalah versi atau isu hak cipta. Artikel mengenai sebab Han Xiaoquan tiba-tiba tidak mempunyai sumber boleh memberitahu anda kandungan khusus Berikut ialah pengenalan terperinci, datang dan lihat. Mengapa tiba-tiba Han Xiaoquan tidak mempunyai sumber Jawapan: Disebabkan masalah rangkaian, masalah versi dan isu hak cipta, pengenalan terperinci: 1. Penyelesaian kepada masalah rangkaian: Anda boleh memilih rangkaian lain, dan kemudian log masuk ke perisian sekali lagi untuk mencuba? . 2. Penyelesaian kepada masalah versi: Pengguna boleh memuat turun versi terkini perisian ini daripada laman web rasmi. 3. Penyelesaian kepada isu hak cipta: Beberapa drama Korea dialih keluar daripada rak kerana isu hak cipta Anda boleh memilih drama Korea lain untuk ditonton.

Cara menyegarkan sumber Dying Light tanpa had Cara menyegarkan sumber Dying Light tanpa had Jan 24, 2024 pm 04:03 PM

Dalam permainan Dying Light, ramai pemain mungkin dikelilingi oleh zombi yang tidak terkira banyaknya pada peringkat awal kerana kekurangan sumber. Kadang-kadang mereka juga akan mengambil risiko untuk menyelamatkan pengembara yang terperangkap, dan pengembara ini juga mungkin menyediakan beberapa tugas sampingan, yang akan memberikan ganjaran yang besar setelah selesai. Dying Light Unlimited Resource Acquisition Mula-mula, cari pakej bantuan dan letakkan di gudang. Pada halaman utama [Inventori], pilih item dengan kuantiti yang lebih besar dan klik dengan butang kiri tetikus apabila dipilih. 2. Kemudian, tekan [ESC] tanpa menggerakkan tetikus Tekan F+A dengan pantas Selepas kira-kira 0.25 saat, apabila anda merasakan halaman gudang akan muncul, tekan butang kiri dan kanan tetikus. . Jangan gerakkan tetikus dan jangan tekan dan tahan Gesaan untuk menyimpan item akan muncul dan ia akan berjaya. 3Akhir sekali, cari [Pakej Bencana] di gudang dan digesa oleh

Pembangunan antara muka grafik bahasa Go: teroka alat dan sumber sedia ada Pembangunan antara muka grafik bahasa Go: teroka alat dan sumber sedia ada Mar 23, 2024 pm 03:06 PM

Prinsip panduan: Bahasa Go sendiri tidak secara langsung menyokong pembangunan antara muka grafik, tetapi pembangunan antara muka grafik boleh dicapai dengan memanggil perpustakaan dalam bahasa lain atau menggunakan alat sedia ada. Artikel ini akan memperkenalkan beberapa alatan dan sumber yang biasa digunakan untuk membantu pembaca meneroka dengan lebih baik kemungkinan menggunakan bahasa Go untuk pembangunan antara muka grafik. 1. Status semasa pembangunan antara muka grafik dalam bahasa Go Bahasa Go ialah bahasa pengaturcaraan yang cekap dan ringkas yang sesuai untuk pelbagai bidang aplikasi, tetapi ia tidak mahir dalam pembangunan antara muka grafik. Disebabkan oleh prestasi dan ciri keselarasan bahasa Go, ramai pembangun mahu

Meningkatkan daya pemprosesan enjin storan: Kes aplikasi MaxScale dalam MySQL Meningkatkan daya pemprosesan enjin storan: Kes aplikasi MaxScale dalam MySQL Jul 27, 2023 pm 10:05 PM

Meningkatkan daya pemprosesan enjin storan: Kes aplikasi MaxScale dalam MySQL Pengenalan: Dalam persekitaran semasa data besar dan konkurensi tinggi, cara untuk meningkatkan daya pemprosesan pangkalan data telah menjadi masalah yang dihadapi oleh banyak perusahaan dan pembangun. Sebagai pangkalan data hubungan sumber terbuka yang biasa digunakan, pengoptimuman prestasi MySQL sentiasa menarik perhatian ramai. Artikel ini akan memperkenalkan kaedah untuk meningkatkan daya pemprosesan pangkalan data MySQL dengan menggunakan alat MaxScale, serta kes aplikasi tertentu. 1. Pengenalan kepada MaxScale MaxScale ialah

Tiba-tiba! ChatGPT Plus dihentikan Tiba-tiba! ChatGPT Plus dihentikan Apr 07, 2023 pm 09:01 PM

Kini, ChatGPT tidak lagi menyokong pembayaran Plus. △Sebab tangkapan skrin ChatGPT adalah sangat mudah: Permintaan tinggi. Permintaan sangat tinggi sehingga OpenAI terpaksa menggantung jualan Plus. Tiada kata bila ia akan dibuka nanti. Beberapa hari yang lalu, ChatGPT menyebabkan perbincangan hangat kerana larangan akaun berskala besar, dan kini ia telah menutup secara rasmi permohonan keahlian berbayar Plus. Ramai netizen mengaitkannya dengan sumber pengkomputeran yang tidak mencukupi, dan ia bukan lagi masalah yang boleh diselesaikan dengan wang sahaja. Microsoft, penyokong kewangan, juga perlu menyediakan pangkalan penggunanya sendiri. Tiada lagi kuasa pengkomputeran yang mencukupi di bumi untuk memenuhi permintaan. Beberapa netizen yang sudah membayar menyatakan rasa terima kasih mereka: Saya benar-benar tidak dapat membayangkan kembali ke zaman GPT-3.5. SembangGPT closePlu

Ralat Java: Sumber aplikasi tidak dapat ditemui, cara menyelesaikan dan mengelak Ralat Java: Sumber aplikasi tidak dapat ditemui, cara menyelesaikan dan mengelak Jun 24, 2023 pm 06:58 PM

Java ialah bahasa pengaturcaraan yang digunakan secara meluas untuk membangunkan aplikasi dan mencipta laman web. Walau bagaimanapun, apabila membangunkan dan menggunakan aplikasi Java, anda mungkin menghadapi ralat berikut: Sumber aplikasi tidak dapat ditemui. Ralat ini sering berlaku apabila membungkus dan menggunakan aplikasi Java. Artikel ini membincangkan punca, penyelesaian dan cara untuk mengelakkan ralat ini. Punca ralat Sumber aplikasi tidak dapat ditemui ralat biasanya disebabkan oleh beberapa sebab berikut: 1.1 Fail hilang atau rosak: Apabila pakej aplikasi atau fail perpustakaan bergantung hilang atau rosak,

See all articles