มีทรัพยากรใดบ้างสำหรับการปรับประสิทธิภาพฐานข้อมูล [ปิด]


214

มีแหล่งข้อมูลอะไรที่ดีสำหรับการทำความเข้าใจการปรับฐานข้อมูลของเอ็นจิ้นหลักและพัฒนาความรู้ของคุณในพื้นที่นั้น?

แนวคิดของคำถามนี้คือการรวบรวมทรัพยากรหลั่งที่มีอยู่อย่างสม่ำเสมอเพื่อให้ผู้คนสามารถมีร้านค้าความรู้ "ครบวงจร" ของแหล่งข้อมูลที่ดีที่ได้รับการรับรอง


SQL ทั่วไป

PostgreSQL ( wiki ) ( PGsearch )

MySQL

คำพยากรณ์

เซิร์ฟเวอร์ MS SQL

Sybase SQL ทุกที่

JDBC

คำตอบ:


31

Tom Kyte ของ Oracle มีพื้นที่เก็บข้อมูลที่ยอดเยี่ยมเกี่ยวกับปัญหาด้านประสิทธิภาพทุกประเภทที่http://asktom.oracle.com http://asktom.oracle.comเขามักจะใช้เวลาในการสร้างปัญหาที่เฉพาะเจาะจงและให้คำอธิบายอย่างละเอียด






5

การเพิ่มประสิทธิภาพ PostgreSQL อย่างรวดเร็ว (การเพิ่มประสิทธิภาพข้อความค้นหา)

อ่านสั้น ๆ อธิบายสิ่งต่างๆได้ดีและ 'ทำงาน' เป็นตัวอย่างจริงที่ดีสำหรับพวกเราที่เรียนรู้ได้ดีกว่า

หลังจากเห็นลิงก์ wiki ไปที่ PostgreSQL ฉันคิดว่าฉันจะแก้ไขโพสต์นี้ด้วยลิงก์สำหรับ mysql / oracle docs ไม่ใช่แนวทางการเพิ่มประสิทธิภาพโดยเฉพาะ แต่ทั้งคู่เป็นทรัพยากรที่ดีโดยเฉพาะ mysql สำหรับการปรับให้เหมาะสมและคุณสมบัติการปรับแต่งอื่น ๆ




3

ฉันจะเพิ่มที่นอกเหนือจากการมีฐานข้อมูลของคุณปรับตามทฤษฎีแล้วคุณควรโปรไฟล์แอปพลิเคชันของคุณโดยใช้ profiler ที่ติดตามการโทร SQL

แม้จะมีความตั้งใจที่ดีที่สุดของคุณแล้ว แต่การโทรที่ไม่ดีบางครั้งจะแอบเข้าไปในแอปพลิเคชันของคุณและมักจะทำให้ 90% ของปัญหาเกี่ยวกับประสิทธิภาพของคุณ



2

หากคุณกำลังมองหาการอ้างอิงการปรับแต่งประสิทธิภาพของ SQL Server โดยเฉพาะจะมีการโหลดทรัพยากรคุณภาพแบบออนไลน์อย่างสมบูรณ์ตั้งแต่เอกสารทางเทคนิคเกี่ยวกับการใช้เทคโนโลยีเฉพาะเช่นการแบ่งพาร์ติชันไปจนถึงบล็อกที่ยอดเยี่ยม แพลตฟอร์มเซิร์ฟเวอร์ sql

ปลั๊กอินที่ไม่ระบุชื่อดังต่อไปนี้: คุณสามารถเริ่มต้นทำการวิจัยโดยการตรวจสอบพื้นที่การปรับแต่งประสิทธิภาพของบล็อกส่วนตัวของฉันหรือสำหรับความต้องการ / ปัญหา SQL Server เฉพาะใด ๆ โปรดอย่าลังเลที่จะส่งอีเมลถึงฉัน

ทรัพยากรเซิร์ฟเวอร์ SQL



2

วิธีระบุเคียวรีที่รันช้าด้วย SQL Profilerเป็นแบบฝึกหัดที่ดีเกี่ยวกับวิธีการระบุเคียวรีที่รันช้า นี้จะช่วยให้หนึ่งมุ่งเน้นความสนใจของพวกเขาในที่ที่จำเป็น



1

"ประสิทธิภาพ SQL Tuning" http://books.google.com/books?id=3H9CC54qYeEC&dq=sql+performance+tuning&printsec=frontcover&source=bn&hl=en&ei=1dDoSYmjMOrlnQfX-bSYBw&sa=X&oi=book_result&ct=result&resnum=4ครอบคลุมมากที่สุดของ DBMS ที่สำคัญ - วิธีการเขียนแบบสอบถาม SQL ข้ามแพลตฟอร์มที่มีประสิทธิภาพสูง ฯลฯ



1

นี่คือหนังสือที่ได้รับการยอมรับอย่างสูงอีกเล่มหนึ่งว่าเป็นกลาง - แพลตฟอร์ม:

การปรับแต่ง SQLของ Dan Tow : การสร้างแผนการดำเนินการที่เหมาะสมที่สุด

มีตัวอย่างเฉพาะสำหรับ Oracle, MS SQL และ IBM DB2 แต่เทคนิคที่เกี่ยวข้องควรนำไปใช้กับแพลตฟอร์มอื่นเช่นกัน



1

Xaprbเป็นบล็อกที่ต้องอ่านสำหรับ MySQL DBAs ผู้เขียนได้เขียนหนังสือเกี่ยวกับMySQL ที่มีประสิทธิภาพสูง

เพื่อความสุขที่ได้ทำงานกับ Sybase SQL Anywhere ฉันสามารถแนะนำบล็อกของ Breck Carterและคู่มือ SQL Anywhere Studio 9 Developer ของเขาเท่านั้น


1

ฉันค่อนข้างมีความสุขเมื่อฉันเห็นวิธีนี้อย่างรวดเร็วในการดูว่าเกิดอะไรขึ้นกับคำสั่ง SQL ที่คุณกำลังปรับภายใต้ Oracle เปลี่ยนคำสั่ง SQL แรกด้านล่างเป็นคำสั่ง SELECT ของคุณและเก็บคำใบ้นั้นไว้

SELECT /*+ GATHER_PLAN_STATISTICS */ * FROM DUAL;

SELECT * FROM TABLE(dbms_xplan.display_cursor( NULL, NULL, 'RUNSTATS_LAST'))
;

PLAN_TABLE_OUTPUT
-----------------------------------------------------
SQL_ID  5z36y0tq909a8, child number 0
-------------------------------------
SELECT /*+ GATHER_PLAN_STATISTICS */ * FROM DUAL

Plan hash value: 272002086

---------------------------------------------------------------------------------------------
| Id  | Operation         | Name | Starts | E-Rows | A-Rows |   A-Time   | Buffers | Reads  |
---------------------------------------------------------------------------------------------
|   1 |  TABLE ACCESS FULL| DUAL |      1 |      1 |      1 |00:00:00.02 |       3 |      2 |
---------------------------------------------------------------------------------------------


12 rows selected.

ที่ไหน:

  • E-Rows เป็นแถวโดยประมาณ
  • แถวคือแถวจริง
  • A-Time เป็นเวลาจริง
  • บัฟเฟอร์เป็นบัฟเฟอร์จริง

ในกรณีที่แผนโดยประมาณแตกต่างจากการดำเนินการตามจริงตามลำดับความสำคัญคุณรู้ว่าคุณมีปัญหา


0

สำหรับคนที่ทำงานกับ Oracle ฉันขอแนะนำลิงค์นี้ .............

http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/toc.htm

จากประสบการณ์ของฉันกับการพัฒนาฐานข้อมูล Oracle ฉันพบว่าการสร้างความรู้เกี่ยวกับวิธีการใช้ SQL วิธีการทำงานและการรู้ว่ามีอะไรบ้าง (ฟังก์ชั่นที่ให้มาส่วนที่คุณไม่ทราบว่ามีอยู่หรือปรับปรุงจากรุ่นล่าสุด) ฉันใช้เวลาน้อยลงในการปรับแต่ง sql


0

ฉันเริ่มด้วยการทำความเข้าใจว่าฐานข้อมูลทำงานอย่างไรในระดับพื้นฐาน ข้อมูลถูกเก็บไว้ในดิสก์อย่างไรการสร้างดัชนีทำอย่างไรการเพิ่มประสิทธิภาพแผนแบบสอบถามทำงานอย่างไรแผนแคชอย่างไรเมื่อแผนแคชหมดอายุ

หากคุณสามารถยอมรับสิ่งเหล่านั้นกับหน่วยความจำได้คำแนะนำส่วนใหญ่เกี่ยวกับการปรับจูนดูเหมือนชัดเจน

นี่คือหนังสือยอดเยี่ยมสำหรับ MSSQL

SQL Server Internals



0

บางครั้งคุณจำเป็นต้องรู้วิธีการแก้ไขปัญหาเมื่อมีการระบุ วิธีนี้จะแสดงวิธีแทนที่เคอร์เซอร์ที่มีประสิทธิภาพไม่ดีด้วยการดำเนินการตามชุด: http://wiki.lessthandot.com/index.php/Cursors_and_How_to_Avoid_Them

เป็นเฉพาะกับ SQL Server แต่เทคนิคหลายอย่างอาจเปลี่ยนไปใช้ dbs อื่นเช่นกัน


0

สำหรับ Microsoft SQL ฉันขอแนะนำหนังสือโดย Kalen Delaney (และคณะ) ที่เรียกว่า "Inside SQL Server" พวกเขาให้ข้อมูลเชิงลึกที่ดีเกี่ยวกับ internals ของ SQL Server ดังนั้นจึงช่วยให้ผู้อ่านให้ความรู้ด้วยตนเองว่าทำไมข้อความเฉพาะอาจเร็วกว่าคำอื่น ๆ

Inside SQL Server 7.0
ภายใน SQL Server 2000
ภายใน Microsoft SQL Server 2005
Microsoft SQL Server 2008 Internals

นอกจากนี้ยังมีหนังสือสำหรับการปรับแต่งแบบสอบถาม SQL Server 2008: การปรับแต่งประสิทธิภาพของเซิร์ฟเวอร์ SQL กลั่น

ฉันชอบบล็อกของ Paul Randal และ Kimberly Tripp บน SQLSkills.com พวกเขาเต็มไปด้วยคำแนะนำ SQL ที่มั่นคง:

บล็อกของ Paul บล็อก
ของ Kimberly


0

สำหรับการปรับแต่งประสิทธิภาพของ SQL Server Itzik Ben-Gan เป็นตำนาน

คุณสามารถหาหนังสือที่มีรายละเอียดมากมายของเขาได้ที่นี่พร้อมด้วยการวัดเชิงประจักษ์ตามแบบฉบับของเขาเพื่อพิสูจน์กรณีของเขา: http://tsql.solidq.com/books/index.htm

หากคุณกำลังค้นหาวิธีแก้ปัญหาที่เร็วที่สุดสำหรับปัญหา t-sql ให้เพิ่มคำว่า 'itzik' ลงในคำค้นหา google ของคุณ

Itzik Ben-Gan ถูกกล่าวถึงมากกว่า 600 ครั้งที่นี่ใน stackoverflowแต่ฉันไม่อยากจะเชื่อเลยว่าจะไม่พูดถึงเขาที่นี่ในคำถามปรับจูนการแสดงนี้

ในฐานะที่เป็นทรัพยากรเพิ่มเติมนอกจากนี้คุณยังสามารถค้นหาวิดีโอบางส่วนของItzik พูดคุยเกี่ยวกับผลการดำเนินงานที่เกี่ยวข้องกับสิ่งที่นี่ใน youtube


0

ไซต์ของ Oracle

  1. คู่มือการปรับแต่งประสิทธิภาพ 2 วันhttp://docs.oracle.com/cd/E11882_01/server.112/e10822/toc.htm
  2. คู่มือการปรับแต่งประสิทธิภาพhttp://docs.oracle.com/cd/E36909_01/server.1111/e16638/toc.htm

หนังสือ Oracle

  1. Oracle Core: Internals ที่จำเป็นสำหรับ DBA และนักพัฒนาโดย Jonathan Lewis
  2. สถาปัตยกรรมฐานข้อมูล Oracle ผู้เชี่ยวชาญ: Oracle Database 9i, 10g และ 11g เทคนิคการเขียนโปรแกรมและโซลูชันโดย Thomas Kyte
  3. การปรับแต่ง SQL โดย Dan Tow
  4. คำแนะนำและเทคนิคในการปรับแต่งประสิทธิภาพ Oracle Database 11g รีลีส 2 (Oracle Press) โดย Richard Niemiec
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.