99% of problems I have seen are caused by putting too many tables in a การแปล - 99% of problems I have seen are caused by putting too many tables in a ไทย วิธีการพูด

99% of problems I have seen are cau

99% of problems I have seen are caused by putting too many tables in a join. The fix for this is to do half the join (with some of the tables) and cache the results in a temporary table. Then do the rest of the query joining on that temporary table.

Query Optimisation Checklist
Run UPDATE STATISTICS on the underlying tables
Many systems run this as a scheduled weekly job
Delete records from underlying tables (possibly archive the deleted records)
Consider doing this automatically once a day or once a week.
Rebuild Indexes
Rebuild Tables (bcp data out/in)
Dump / Reload the database (drastic, but might fix corruption)
Build new, more appropriate index
Run DBCC to see if there is possible corruption in the database
Locks / Deadlocks
Ensure no other processes running in database
Especially DBCC
Are you using row or page level locking?
Lock the tables exclusively before starting the query
Check that all processes are accessing tables in the same order
Are indices being used appropriately?
Joins will only use index if both expressions are exactly the same data type
Index will only be used if the first field(s) on the index are matched in the query
Are clustered indices used where appropriate?
range data
WHERE field between value1 and value2
Small Joins are Nice Joins
By default the optimiser will only consider the tables 4 at a time.
This means that in joins with more than 4 tables, it has a good chance of choosing a non-optimal query plan
Break up the Join
Can you break up the join?
Pre-select foreign keys into a temporary table
Do half the join and put results in a temporary table
Are you using the right kind of temporary table?
#temp tables may perform much better than @table variables with large volumes (thousands of rows).
Maintain Summary Tables
Build with triggers on the underlying tables
Build daily / hourly / etc.
Build ad-hoc
Build incrementally or teardown / rebuild
See what the query plan is with SET SHOWPLAN ON
See what’s actually happenning with SET STATS IO ON
Force an index using the pragma: (index: myindex)
Force the table order using SET FORCEPLAN ON
Parameter Sniffing:
Break Stored Procedure into 2
call proc2 from proc1
allows optimiser to choose index in proc2 if @parameter has been changed by proc1
Can you improve your hardware?
What time are you running? Is there a quieter time?
Is Replication Server (or other non-stop process) running? Can you suspend it? Run it eg. hourly?
0/5000
จาก: -
เป็น: -
ผลลัพธ์ (ไทย) 1: [สำเนา]
คัดลอก!
99% ของปัญหาที่ผมเห็นจะเกิดจากวางตารางมากเกินไปในการเข้าร่วม การแก้ไขนี้เป็นการ รวมครึ่ง (มีบางส่วนของตาราง) และแคผลลัพธ์ในตารางชั่วคราว จากนั้น ทำส่วนเหลือของแบบสอบถามที่รวมในตารางชั่วคราวรายการตรวจสอบการปรับแต่งแบบสอบถามเรียกใช้การปรับปรุงสถิติในตารางต้นแบบหลายระบบทำงานนี้เป็นงานประจำสัปดาห์จัดกำหนดการลบระเบียนจากตารางต้นแบบ (อาจจะเก็บระเบียนถูกลบ)พิจารณาการทำเช่นนี้โดยอัตโนมัติหนึ่งครั้งต่อวันหรือสัปดาห์ละครั้งสร้างดัชนีสร้างตาราง (bcp ออก/ใน)การถ่ายโอนข้อมูล / โหลดฐานข้อมูล (รุนแรง แต่อาจแก้ไขความเสียหาย)สร้างดัชนีใหม่ เหมาะสมเรียกใช้การ DBCC เพื่อดูว่า มีการทุจริตได้ในฐานข้อมูลล็อค / ความชะงักงันให้แน่ใจว่าไม่มีกระบวนการอื่น ๆ ที่ใช้ในฐานข้อมูลโดยเฉพาะอย่างยิ่ง DBCCคุณใช้แถวหรือการล็อกระดับหน้าล็อคตารางแบบเอกสิทธิ์เฉพาะบุคคลก่อนที่จะเริ่มต้นแบบสอบถามตรวจสอบว่า กระบวนการทั้งหมดเข้าถึงตารางในใบสั่งเดียวกันดัชนีถูกใช้อย่างเหมาะสมหรือไม่การรวมจะใช้ดัชนีหากทั้งสองนิพจน์ ว่าข้อมูลชนิดเดียวกันดัชนีจะถูกใช้ถ้าฟิลด์แรกสุดตรงในแบบสอบถามใช้ดัชนีคลัสเตอร์เหมาะสมช่วงข้อมูลฟิลด์ที่ระหว่าง value1 value2รวมขนาดเล็กกำลังดีรวมโดยค่าเริ่มต้น การเพิ่มประสิทธิภาพจะเท่าพิจารณาตาราง 4 ครั้งหมายความ ว่า ในการรวมกับตารางมากกว่า 4 มีโอกาสที่ดีของการเลือกแผนการสอบถามไม่เหมาะสมที่สุดแบ่งการเข้าร่วมคุณสามารถแบ่งค่าเข้าร่วมเลือกคีย์นอกในตารางชั่วคราวทำร่วมครึ่งหนึ่ง และใส่ผลลัพธ์ในตารางชั่วคราวคุณใช้ชนิดของตารางชั่วคราวตาราง #temp อาจทำมากดีกว่าตัวแปร @table ด้วยปริมาณ (พันแถว)รักษาตารางสรุปสร้างกับทริกเกอร์ในตารางต้นแบบสร้างรายวันรายชั่วโมง / ฯลฯสร้างกิจสร้างแบบเพิ่มหน่วย หรือ teardown / สร้างดูแผนการสอบถามแบบตั้ง SHOWPLAN ONดู happenning จริง ด้วย IO สถิติตั้ง ON คืออะไรแรงดัชนีใช้แบบ pragma: (ดัชนี: myindex)บังคับใบตารางที่ใช้การตั้งค่า FORCEPLAN ONพารามิเตอร์ Sniffing:กระบวนงานเก็บไว้แบ่ง 2โทร proc2 จากกระบวนการ 1ช่วยเพิ่มประสิทธิภาพการเลือกดัชนีใน proc2 ถ้า @parameter มีการเปลี่ยนแปลงตามกระบวนการ 1คุณสามารถปรับปรุงฮาร์ดแวร์ของคุณคุณกำลังเรียกใช้เวลา มีเวลาเงียบสงบหรือไม่เซิร์ฟเวอร์การจำลองแบบ (หรือกระบวนการอื่น ๆ ไม่หยุด) ใช้หรือไม่ คุณสามารถระงับได้ ทำงานเช่น ต่อชั่วโมง
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 2:[สำเนา]
คัดลอก!
99% ของปัญหาที่ฉันได้เห็นจะเกิดจากการวางตารางมากเกินไปในการเข้าร่วม การแก้ไขปัญหานี้คือการทำครึ่งปีที่เข้าร่วม (กับบางส่วนของตาราง) และแคชผลลัพธ์ในตารางชั่วคราว จากนั้นทำส่วนที่เหลือของแบบสอบถามการเข้าร่วมในตารางชั่วคราวว่า. แบบสอบถาม Optimisation รายการตรวจสอบสถิติการอัพเดทในตารางพื้นฐานหลายระบบทำงานนี้เป็นงานประจำสัปดาห์ที่กำหนดลบระเบียนจากตารางพื้นฐาน (อาจจะเก็บระเบียนที่ถูกลบ) พิจารณาการทำเช่นนี้โดยอัตโนมัติครั้งเดียว วันหรือสัปดาห์ละครั้ง. สร้างดัชนีสร้างตาราง (ข้อมูล BCP / ออก) ในการถ่ายโอนข้อมูล / โหลดฐานข้อมูล (รุนแรง แต่อาจจะแก้ไขความเสียหาย) สร้างใหม่ดัชนีที่เหมาะสมมากขึ้นใช้ DBCC เพื่อดูว่ามีการทุจริตที่เป็นไปได้ในฐานข้อมูลระบบล็อค / deadlocks ให้แน่ใจว่าไม่มีกระบวนการอื่น ๆ ที่ทำงานอยู่ในฐานข้อมูลโดยเฉพาะอย่างยิ่งการ DBCC คุณใช้แถวหรือหน้าล็อคระดับ? ล็อคตารางเฉพาะก่อนที่จะเริ่มการค้นหาตรวจสอบว่ากระบวนการทั้งหมดจะเข้าถึงตารางในลำดับเดียวกันที่ดัชนีถูกนำมาใช้อย่างเหมาะสม? ร่วมจะใช้ดัชนีถ้า ทั้งการแสดงออกจะตรงประเภทข้อมูลเดียวกันดัชนีจะใช้เฉพาะในกรณีที่ฟิลด์แรก (s) ในดัชนีมีการจับคู่ในแบบสอบถามที่ดัชนีที่ใช้คลัสเตอร์ที่เหมาะสมหรือไม่ข้อมูลช่วงที่สนามระหว่าง VALUE1 และ VALUE2 ร่วมขนาดเล็กที่ดีร่วมโดยค่าเริ่มต้น เพิ่มประสิทธิภาพเท่านั้นที่จะเป็นผู้พิจารณาตารางที่ 4 ในเวลา. ซึ่งหมายความว่าในร่วมกับกว่า 4 ตารางก็มีโอกาสที่ดีในการเลือกแผนแบบสอบถามที่ไม่เหมาะสมเลิกเข้าร่วมกับคุณสามารถสลายเข้าร่วม? Pre-เลือก คีย์ต่างประเทศเข้ามาในตารางชั่วคราวทำครึ่งปีที่เข้าร่วมและนำผลในตารางชั่วคราวคุณใช้สิทธิชนิดของตารางชั่วคราวตาราง #temp อาจดำเนินการดีกว่าตัวแปร @table มีปริมาณมาก (พันแถว). รักษาตารางสรุปสร้างกับทริกเกอร์บนตารางต้นแบบสร้างรายวัน / รายชั่วโมง / ฯลฯสร้าง Ad-hoc สร้างแบบค่อยเป็นค่อยไปหรือ teardown / สร้างดูว่าแผนแบบสอบถามอยู่กับตลาดหลักทรัพย์ SHOWPLAN ON ดูว่ามีอะไรจริง happenning กับ SET สถิติ IO ON กองทัพดัชนีการใช้ pragma นี้: (ดัชนี: myindex) บังคับคำสั่งตารางโดยใช้ชุด FORCEPLAN ON พารามิเตอร์ดมกลิ่น: ทำลายขั้นตอนการเก็บเป็น 2 proc2 สายจาก proc1 ช่วยเพิ่มประสิทธิภาพในการเลือกดัชนี proc2 ถ้า @parameter ได้ถูกเปลี่ยนแปลงโดย proc1 ? คุณสามารถปรับปรุงฮาร์ดแวร์ของคุณอะไรเวลาที่คุณ วิ่ง? มีเวลาที่เงียบสงบ? จำลอง Server (หรือไม่หยุดกระบวนการอื่น ๆ ) ทำงานอยู่หรือไม่ คุณสามารถระงับได้หรือไม่ เรียกใช้งานเช่น รายชั่วโมงได้อย่างไร















































การแปล กรุณารอสักครู่..
 
ภาษาอื่น ๆ
การสนับสนุนเครื่องมือแปลภาษา: กรีก, กันนาดา, กาลิเชียน, คลิงออน, คอร์สิกา, คาซัค, คาตาลัน, คินยารวันดา, คีร์กิซ, คุชราต, จอร์เจีย, จีน, จีนดั้งเดิม, ชวา, ชิเชวา, ซามัว, ซีบัวโน, ซุนดา, ซูลู, ญี่ปุ่น, ดัตช์, ตรวจหาภาษา, ตุรกี, ทมิฬ, ทาจิก, ทาทาร์, นอร์เวย์, บอสเนีย, บัลแกเรีย, บาสก์, ปัญจาป, ฝรั่งเศส, พาชตู, ฟริเชียน, ฟินแลนด์, ฟิลิปปินส์, ภาษาอินโดนีเซี, มองโกเลีย, มัลทีส, มาซีโดเนีย, มาราฐี, มาลากาซี, มาลายาลัม, มาเลย์, ม้ง, ยิดดิช, ยูเครน, รัสเซีย, ละติน, ลักเซมเบิร์ก, ลัตเวีย, ลาว, ลิทัวเนีย, สวาฮิลี, สวีเดน, สิงหล, สินธี, สเปน, สโลวัก, สโลวีเนีย, อังกฤษ, อัมฮาริก, อาร์เซอร์ไบจัน, อาร์เมเนีย, อาหรับ, อิกโบ, อิตาลี, อุยกูร์, อุสเบกิสถาน, อูรดู, ฮังการี, ฮัวซา, ฮาวาย, ฮินดี, ฮีบรู, เกลิกสกอต, เกาหลี, เขมร, เคิร์ด, เช็ก, เซอร์เบียน, เซโซโท, เดนมาร์ก, เตลูกู, เติร์กเมน, เนปาล, เบงกอล, เบลารุส, เปอร์เซีย, เมารี, เมียนมา (พม่า), เยอรมัน, เวลส์, เวียดนาม, เอสเปอแรนโต, เอสโทเนีย, เฮติครีโอล, แอฟริกา, แอลเบเนีย, โคซา, โครเอเชีย, โชนา, โซมาลี, โปรตุเกส, โปแลนด์, โยรูบา, โรมาเนีย, โอเดีย (โอริยา), ไทย, ไอซ์แลนด์, ไอร์แลนด์, การแปลภาษา.

Copyright ©2024 I Love Translation. All reserved.

E-mail: