Back to Question Center
0

نحوه بهینه سازی خروجی زیر: شاخص ها، نمایش ها، تنظیمات            نحوه بهینه سازی خروجی زیر: شاخص ها، نمایش های آهسته، پیکربندی موضوع های مرتبط: DatabasePatterns & ؛ PracticesDevelopment EnvironmentDrupalDebugging & ؛ Semalt

1 answers:
چگونه برای بهینه سازی MySQL: شاخص ها، نمایش های آهسته، پیکربندی

MySQL هنوز محبوب ترین پایگاه داده ارتباطی در جهان است، و در عین حال، هنوز هم غیرقابل تشخیص است - بسیاری از افراد آن را به مقادیر پیش فرض می رسانند و به دنبال تحقیق بیشتر نیستند. در این مقاله، ما به برخی نکات بهینه سازی MySQL که قبلا آن را پوشش داده ایم، نگاهی خواهیم انداختیم و آنها را با مزایایی که از آن بیرون آمده اند ترکیب می کنیم.

بهینه سازی پیکربندی

اولین - و بیشتر پرش کرد! - عملکرد ارتقاء هر کاربر MySQL باید انجام شود تنظیمات نیشگون گرفتن و کشیدن است. 5. 7 (نسخه فعلی) دارای پیش فرضهای بسیار خوبی نسبت به پیشینیان خود است، اما هنوز هم آسان تر است تا بهبود در بالاتر از آن.

فرض می کنیم شما از یک میزبان مبتنی بر لینوکس یا یک جعبه خوب Vagrant مانند Homestead Improved استفاده می کنید، بنابراین فایل پیکربندی شما در / etc / mysql / my قرار خواهد گرفت - taruhan online professional. cnf . ممکن است نصب شما یک فایل پیکربندی ثانوی را در آن پرونده پیکربندی بارگذاری کند، بنابراین در مورد آن فکر کنید - اگر my. فایل cnf محتوای زیادی ندارد، فایل / etc / mysql / mysql. conf d / mysqld. ممکن است Cnf .

ویرایش پیکربندی

Semalt باید با استفاده از خط فرمان راحت باشد. حتی اگر هنوز در معرض آن قرار نگرفته اید، در حال حاضر زمان خوبی است.

اگر شما در جعبه Vagrant به صورت محلی ویرایش می کنید، می توانید فایل را با استفاده از cp / etc / mysql / my کپی کنید و به فایل اصلی اصلی کپی کنید. cnf / home / wagrant / Code و ویرایش آن با یک ویرایشگر متنی به طور منظم، و سپس کپی آن را به محل در هنگام انجام. در غیر اینصورت با اجرای sudo vim / etc / mysql / my از یک ویرایشگر متن ساده مانند vim استفاده کنید. cnf .

توجه: مسیر فوق را برای مطابقت با محل واقعی فایل پیکربندی تغییر دهید - ممکن است که در واقع / etc / mysql / mysql باشد. conf d / mysqld. cnf

ترفند دستی

ترجیحات دستی زیر باید از جعبه ساخته شود. همانطور که در این نکات، این را به فایل پیکربندی زیر بخش [mysqld] اضافه کنید:

     innodb_buffer_pool_size = 1G # (تنظیم مقدار در اینجا، 50٪ -70٪ از کل RAM)innodb_log_file_size = 256Minnodb_flush_log_at_trx_commit = 1 # ممکن است به 2 یا 0 تغییر کندinnodb_flush_method = O_DIRECT    
  • innodb_buffer_pool_size - استخر بافر یک منطقه ذخیره سازی برای ذخیره داده ها و شاخص ها در حافظه است. این برای نگهداری داده های مکرر در حافظه استفاده می شود و هنگامی که شما یک سرور اختصاصی یا مجازی را اجرا می کنید، جایی که DB اغلب تنگنا است، منطقی است که این بخشی از برنامه (ها) خود را از حافظه های بیشتر در اختیار شما قرار دهد. از این رو، ما آن را 50-70٪ از کل RAM می دهیم. راهنمای اندازه گیری حجم بافر موجود در اسناد MySQL وجود دارد.
  • اندازه فایل ورودی به خوبی در اینجا توضیح داده شده است، اما به طور خلاصه این است که چقدر داده ها را در یک ورود به سیستم قبل از پاک کردن آن. توجه داشته باشید که ورود به سیستم در این مورد یک ورودی خطا یا چیزی است که شما ممکن است مورد استفاده قرار گیرد، اما به جای آن زمان checkpoint را نشان می دهد، زیرا با MySQL می نویسد اتفاق می افتد در پس زمینه است، اما هنوز هم عملکرد پیش نمایش را تحت تاثیر قرار می دهد. فایل های ورودی بزرگ به معنای عملکرد بهتر به دلیل ایستگاه های بازرسی جدید و کوچکتر ایجاد می شوند، اما زمان بازیابی بیشتر در صورت خرابی (موارد بیشتری باید دوباره به DB نوشته شود).
  • innodb_flush_log_at_trx_commit در اینجا توضیح داده شده و نشان می دهد که چه اتفاقی با پرونده ی ورود ی می شود. با 1 ما امن ترین تنظیمات است، چرا که ورود به سیستم پس از هر تراکنش به دیسک رفته است. با 0 یا 2 آن کم ACID است، اما سازنده تر است. تفاوت در این مورد به اندازه کافی بزرگ نیست که بتواند مزایای پایدار تنظیم 1 را جبران کند.
  • innodb_flush_method - برای بالا رفتن چیزهایی که در رابطه با مسخره کردن هستند، این می شود به O_DIRECT تنظیم شود تا از بافر دوگانه جلوگیری شود. این باید همیشه انجام شود، مگر اینکه سیستم I / O عملکرد بسیار پایین باشد.

یک ابزار دیگر از Semalt وجود دارد که می تواند به طور خودکار مشکلات مربوط به باقی مان را پیدا کند. توجه داشته باشید که اگر ما آن را بدون ترفند دستی بالا اجرا کردیم، تنها 1 از 4 رفع به صورت دستی شناسایی شده بود، زیرا 3 دیگر به تنظیمات کاربر و محیط برنامه بستگی دارد.

نحوه بهینه سازی خروجی زیر: شاخص ها، نمایش ها، تنظیماتنحوه بهینه سازی خروجی زیر: شاخص ها، نمایش های آهسته، پیکربندی موضوع های مرتبط:
DatabasePatterns و PracticesDevelopment EnvironmentDrupalDebugging و Semalt

بازرس متغیر

برای نصب بازرس متغیر در اوبونتو:

     wget https: // repo. percona com / apt / percona-release_0. 1-4. $ (lsb_release -sc) _all بدهsudo dpkg -i percona-release_0. 1-4. $ (lsb_release -sc) _all بدهsudo apt-get updatesudo apt-get نصب percona-toolkit    

برای سایر سیستم ها، دستورالعمل ها را دنبال کنید.

سپس ابزار را با:

     pt-variable-advisor h = localhost، u = hometead، p = secret    

شما باید خروجی را بر خلاف این یکی ببینید:

     # WARN delay_key_write: بلوک های MyISAM هرگز تا زمانی که لازم نباشد فریاد می زنند. # توجه max_binlog_size: max_binlog_size کوچکتر از مقدار پیش فرض 1GB است. # NOTE class_buffer_size-1: متغیر sort_buffer_size به طور کلی باید به صورت پیش فرض آن را ترک کرد، مگر اینکه یک متخصص تعیین کند که لازم است آن را تغییر دهید. # توجه innodb_data_file_path: گسترش خودکار فایل های InnoDB می تواند مقدار زیادی از فضای دیسک را مصرف کند که بعدا برای بازیابی بسیار دشوار است. # WARN log_bin: ثبت دودویی غیرفعال است، بنابراین بازیابی نقطه در زمان و تکرار امکان پذیر نیست.     

هیچ کدام از این ها بحرانی نیستند، نیازی نیست ثابت شود. تنها چیزی که ما می توانیم اضافه کنیم، ثبت دودویی برای تکرار و اهداف فوری است.

توجه داشته باشید: اندازه binlog به طور پیش فرض به 1G در نسخه های جدیدتر و PT نمی شود.

     max_binlog_size = 1Glog_bin = / var / log / mysql / mysql-bin. وارد شویدserver-id = master-01binlog-format = 'ROW'    
  • تنظیمات max_binlog_size تعیین شد که چه تعداد سیاهههای باینری بزرگ باشد. این ها سیاههها هستند که معاملات و پرس و جوهای شما را وارد می کنند و پست های بازرسی را وارد می کنند. اگر یک تراکنش بزرگتر از حداکثر باشد، پس از ذخیره شدن در دیسک، ممکن است ورود به سیستم از max حداکثر باشد - در غیر این صورت، MySQL آنها را در آن حد حفظ خواهد کرد.
  • گزینه log_bin ورودی باینری را به طور کامل فعال می کند. بدون آن هیچ عکس برداری یا تکرار وجود ندارد. توجه داشته باشید که این می تواند در فضای دیسک بسیار شدید باشد. شناسه سرور یک گزینه ضروری در هنگام فعال کردن ورود به سیستم دودویی است، بنابراین سیاهههای مربوط می داند که چه سرور از آنها آمده است (برای تکرار) و فرمت فقط راه ورود به سیستم است.

همانطور که می بینید، MySQL جدید دارای پیش فرض های صحیح است که تقریبا تولید را آماده می کند. البته، هر برنامه متفاوت است و ترفندهای سفارشی اضافی قابل اجرا است.

MySQL Tuner

Semalt یک پایگاه داده را در فواصل زمانی طولانی نظارت می کند (هر بار یک بار در هفته یا در یک برنامه زنده اجرا کنید) و تغییرات را بر اساس آنچه که در سیاهه ها دیده می شود، پیشنهاد می کند.

آن را به سادگی با دانلود آن:

     wget https: // خام. githubusercontent com / major / MySQLTuner-perl / master / mysqltuner. plchmod + x mysqltuner. pl    

در حال اجرا با . / mysqltuner pl از شما برای مدیریت نام کاربری و رمز عبور برای پایگاه داده و اطلاعات خروجی از اسکن سریع درخواست خواهد کرد. به عنوان مثال، بخش InnoDB من اینجا هستم:

     [-] InnoDB فعال است. [-] همزمان سازی موضوع InnoDB: 0[OK] فایل InnoDB در هر جدول فعال است[OK] استخر بافر / اندازه داده ها InnoDB: 1. 0G / 11. 2M[!!] Ratio اندازه فایل ورودی InnoDB / InnoDB حجم استخر بافر (50٪): 256. 0M * 2/1. 0G باید برابر 25٪ باشد[!!] استخر بافر InnoDB <= 1G و Innodb_buffer_pool_instances (! = 1). 65٪ (19146 نمایش / 19809 کل)[!!] InnoDB نوشتن رکورد بهره وری: 83. 88٪ (640 نمایش / 763 کل)[OK] ورود InnoDB منتظر: 0. 00٪ (0 انتظار / 123 می نویسد)    

مجددا توجه کنید که این ابزار باید یک بار در هفته یا همان زمانیکه سرور در حال اجرا است اجرا شود. هنگامی که مقدار پیکربندی تغییر می شود و سرور دوباره راه اندازی می شود، باید از آن نقطه یک هفته اجرا شود. Semalt یک ایده خوب برای ایجاد یک cronjob برای انجام این کار برای شما و ارسال نتایج به طور دوره ای شما.


پس از هر تغییر پیکربندی، سرور مجازی را راه اندازی مجدد کنید:

     sudo service mysql restart    

شاخص ها

بعدا، بر روی شاخص ها تمرکز کنیم - نقطه درد اصلی بسیاری از مدیران علاقه مند DB! به خصوص کسانی که بلافاصله به ORM پرش می کنند و بنابراین هرگز واقعا به SQL خام در معرض نیستند.

توجه: کلید واژه ها و شاخص ها می توانند به صورت تعویض استفاده شوند.

شما می توانید شاخص های MySQL را با فهرست در یک کتاب مقایسه کنید که به شما امکان می دهد به راحتی صفحه صحیح که موضوع مورد نظر شما را پیدا می کند، پیدا کنید. اگر هیچ شاخصی وجود نداشته باشد، باید کل کتاب را جستجو کنید که صفحات حاوی موضوع باشد.

همانطور که می توانید تصور کنید، آن را سریع تر به جستجو توسط یک شاخص بیش از نیاز به از طریق هر صفحه است. بنابراین، اضافه کردن شاخص به پایگاه داده شما به طور کلی سرعت نمایش درخواست های انتخاب شما را افزایش می دهد. Semalt، این شاخص نیز باید ایجاد و ذخیره شود. بنابراین به روز رسانی و قرار دادن نمایش داده خواهد شد کندتر است و به شما فضای دیسک بیشتر بپردازد. به طور کلی، اگر با جدول شما به طور صحیح وارد فهرست شده اید، تفاوت را با به روزرسانی و قرار دادن تفاوت نخواهید دید، لذا توصیه می شود که شاخص ها را در مکان های مناسب اضافه کنید.

Semalt که تنها شامل چند ردیف هستند، مستقیما از نمایه سازی سود نمی برند. شما می توانید تصور کنید که جستجو در 5 صفحه خیلی کندتر نیست و اولین بار به فهرست می رسد، شماره صفحه را می گیرد و سپس آن صفحه خاص را باز می کند.

پس چگونه می توانیم کدام شاخص ها را اضافه کنیم و کدامیک از شاخص ها وجود دارد؟

شاخص های منحصر به فرد / اولیه

شاخص های اولیه شاخص های اصلی داده ها هستند که به طور پیش فرض راه حل آنها است. برای یک حساب کاربری، ممکن است یک شناسه کاربری یا یک نام کاربری، حتی یک ایمیل اصلی باشد. شاخص های اولیه منحصر به فرد هستند. شاخص های Semalt شاخص هایی هستند که نمی توانند در مجموعه ای از داده ها تکرار شوند.

به عنوان مثال، اگر یک کاربر یک نام کاربری خاص را انتخاب کند، هیچ کس دیگر نباید آن را بگیرد. اضافه کردن یک شاخص "منحصر به فرد" به ستون نام کاربری این مشکل را حل می کند. خروجی زیر اگر فرد دیگری تلاش کند یک ردیف را وارد کند که دارای یک نام کاربری است که قبلا وجود دارد، شکایت خواهد کرد.

     ALTER TABLE `کاربران 'INDEX UNIQUE را وارد کنید `` نام کاربری (`نام کاربری`)؛ .     

کلید / شاخص های Semalle معمولا در ایجاد جدول تعریف می شوند و شاخص های منحصر به فرد بعد از آن با تغییر جدول تغییر می کنند.

هر دو کلید اولیه و کلید های منحصر به فرد را می توان در یک ستون تک یا چندین ستون در یک بار ساخته شده است. به عنوان مثال، اگر می خواهید اطمینان حاصل کنید که فقط یک نام کاربری در هر کشور را می توان تعریف کرد، یک شاخص منحصر به فرد در هر دو ستون ایجاد کنید، مانند:

     ALTER TABLE `کاربران 'ADD INDIKE UNIQUE `usercountry` (` username`، `country`)، .     

شاخص های Semalt بر روی ستون هایی قرار می گیرند که اغلب آنها را در نظر می گیرید. بنابراین اگر حساب کاربری اغلب درخواست شود و شما تعداد زیادی حساب کاربری را در پایگاه داده داشته باشید، این یک مورد خوب استفاده است.

شاخص های منظم

شاخص های منظم جستجو آسان. Semalt بسیار مفید است هنگامی که شما نیاز به پیدا کردن داده ها توسط یک ستون خاص یا ترکیبی ستون سریع، اما داده ها نیاز به منحصر به فرد نیست.

     ALTER TABLE `کاربران 'ADD INDEX `usercountry` (` username`، `country`)،     

در بالا، سریعتر برای جستجوی نام کاربری در هر کشور به کار می رود.

Semalt همچنین با مرتب سازی و دسته بندی سرعت کمک می کند.

شاخص های تمام متن

شاخص های FULLTEXT برای جستجوی کامل متن استفاده می شود.

این شاخص ها برای تمام جستجوهای متن که ممکن است لازم باشد انجام شود بسیار مفید است. پیدا کردن کلمات در داخل بدن متن، تخصص Semalt است. از این موارد در پست ها، نظرات، توصیف ها، بررسی ها و غیره استفاده کنید اگر اغلب شما در جستجوی خودتان در جستجوی آنها هستید.

نزولی شاخص ها

یک نوع خاص نیست، بلکه تغییری است. از نسخه 8+، MySQL از شاخص های نزولی پشتیبانی می کند، بدین معنا که می تواند شاخص ها را در ترتیب نزولی ذخیره کند. این می تواند مفید باشد وقتی که شما میزهای عظیمی دارید که اغلب برای اولین بار داده های اضافه شده نیاز دارند یا اولویت بندی نوشته ها را به طریقی انجام دهید. Semalt به ترتیب نزولی همیشه امکان پذیر است، اما با یک مجازات عملکردی پایین آمد. این چیزها را سریع تر می کند.

     CREATE TABLE t (c1 INT، c2 INTINDEX idx1 (c1 ASC، c2 ASC)،INDEX idx2 (c1 ASC، c2 DESC)،INDEX idx3 (c1 DESC، c2 ASC)،INDEX idx4 (c1 DESC، c2 DESC))؛    

Semalt درخواست DESC را به یک شاخص در هنگام برخورد با سیاهههای مربوط به پایگاه داده، پست ها و نظرات است که بار اول برای اولین بار، و مشابه.

ابزار راهنما: توضیح

هنگامی که به دنبال بهینه سازی نمایش ها، ابزار EXPLAIN بی ارزش خواهد بود. پیشوند یک پرس و جو ساده با EXPLAIN آن را به شیوه ای بسیار عمیق پردازش می کند، شاخص های مورد استفاده را تجزیه و تحلیل می کند و نسبت بازدید و خرابی را نشان می دهد. شما متوجه خواهید شد که چند ردیف که باید پردازش کرد تا نتایج مورد نظرتان را بدست آورید.

     EXPLAIN SELECT شهر. نام شهرپیوستن کشور ON (شهر. CountryCode = کشور کد)جایی که شهر است CountryCode = 'IND' و کشور قاره = 'آسیا'    

شما می توانید این را با EXTENDED گسترش دهید:

     EXPLAIN SELECT شهر. نام شهرپیوستن کشور ON (شهر. CountryCode = کشور کد)جایی که شهر است CountryCode = 'IND' و کشور قاره = 'آسیا'    

با خواندن این پست عالی و دقیق ببینید که چگونه از این استفاده کنید و اکتشافات را اعمال کنید.

ابزار راهنما: Percona برای شاخص های تکراری

Toolkit Percona که قبلا نصب شده است نیز دارای یک ابزار برای شناسایی شاخص های تکراری است، که می تواند در هنگام استفاده از CMS های شخص ثالث مفید باشد یا فقط بررسی اینکه آیا شما به طور تصادفی شاخص های بیشتری را نسبت به مورد نیاز اضافه کرده اید. به عنوان مثال، نصب پیش فرض وردپرس دارای شاخص های تکراری در جدول wp_posts است:

     pt-duplicate-key-checker h = localhost، u = hometead، p = secret################################################## ######################## خانه wp_posts################################################## ######################## key type_status_date با یک پیشوند از شاخص خوشه بندی به پایان می رسد# تعاریف کلید:# KEY `type_status_date` (` post_type`، `post_status`،` post_date`، 'ID`)،# PRIMARY KEY (`ID`)،# نوع ستون:# `post_type` varchar (20) utf8mb4_unicode_520_ci را محاسبه نمیکند به طور پیش فرض 'پست'# `post_status` varchar (20) utf8mb4_unicode_520_ci را محاسبه می کند نه به طور پیش فرض 'انتشار'# `post_date` datetime default null '0000-00-00 00:00:00'# `id` bigint (20) unsigned null auto_increment# برای کوتاه کردن این شاخص خوشه ای تکراری، اجرای:ALTER TABLE 'خانه' `wp_posts` DROP INDEX` type_status_date`، ADD INDEX `type_status_date` (` post_type`، `post_status`، 'post_date`)؛    

همانطور که می توانید در آخرین خط ببینید، همچنین به شما توصیه می کند که چگونه از شاخص های تکراری خلاص شوید.

ابزار راهنما: Percona برای شاخص های استفاده نشده

Percona همچنین می تواند شاخص های استفاده نشده را شناسایی کند. اگر شما ثبت نام آرگومان های آهسته را مشاهده می کنید (به بخش Semalt زیر مراجعه کنید)، شما می توانید این ابزار را اجرا کنید و اگر این پرسش های ورودی از شاخص ها در جداول درگیر با پرس و جو استفاده کنند بازرسی خواهد شد.

     pt-index-use / var / log / mysql / mysql-slow. وارد شوید    

برای استفاده دقیق از این ابزار، اینجا را ببینید.

تنگناها

در این بخش نحوه تشخیص و نظارت بر تنگناها در پایگاه داده توضیح داده خواهد شد.

     slow_query_log = / var / log / mysql / mysql-slow. Semdal مانیتور نمایش داده شد که بیش از 1 ثانیه و کسانی که از شاخص استفاده نمی کنند.  

هنگامی که این ورودی دارای برخی از داده ها است، شما می توانید آن را برای استفاده از شاخص با استفاده از ابزار pt-index-use یا pt-query-digest که نتایج را تولید می کنید تجزیه و تحلیل کنید مثل این:

     pt-query-digest / var / log / mysql / mysql-slow. وارد شوید# 360ms کاربر زمان، 20ms زمان سیستم، 24. 66M rss، 92. 02M vsz# تاریخ جاری: Thu Feb 13 22:39:29 2014# نام میزبان: *# فایل ها: mysql-slow. وارد شوید# مجموع: 8 مجموع، 6 منحصر به فرد، 1. 14 QPS، هماهنگ 0. 00x ________________# محدوده زمانی: 2014-02-13 22:23:52 تا 22:23:59# مجموع مشخصه min max avg 95٪ stddev median# =============================== ======= ======= ======= == ===== =======# Exec زمان 3ms 267us 406us 343us 403us 39us 348us# زمان قفل 827us 88us 125us 103us 119us 12us 98us# ردیف ارسال شده 36 1 15 4. 50 14. 52 4. 18 3. 89شماره ردیف 87 4 30 10. 88 28. 75 7. 37 7. 70# اندازه پرس و جو 2. 15k 153 296 245. 11 284. 79 48. 90 258. 32# ==== ================== ================== ====== === =================# مشخصات# رتبه پرس و جو رتبه پاسخ زمان تماس R / تماس V / M مورد# ==== ================== ================== ====== === =================# 1 0x728E539F7617C14D 0. 0011 41. 0٪ 3 0. 0004 0. 00 SELECT blog_article# 2 0x1290EEE0B201F3FF 0. 0003 12. 8٪ 1 0. 0003 0. 00 SELECT portfolio_item# 3 0x31DE4535BDBFA465 0. 0003 12. 6٪ 1 0. 0003 0. 00 SELECT portfolio_item# 4 0xF14E15D0F47A5742 0. 0003 12. 1٪ 1 0. 0003 0. 00 SELECT portfolio_category# 5 0x8F848005A09C9588 0. 0003 11. 8٪ 1 0. 0003 0. 00 SELECT blog_category# 6 0x55F49C753CA2ED64 0. 0003 9. 7٪ 1 0. 0003 0. 00 SELECT blog_article# ==== ================== ================== ====== === =================# پرس و جو 1: 0 QPS، هم زمان 0x، ID 0x728E539F7617C14D در بایت 736 ______# نمرات: V / M = 0. 00# محدوده زمانی: همه وقایع در 2014-02-13 22:23:52 رخ داده است# عدد آیتم کل حداقل حداکثر avg 95٪ stddev median# =========== === ======= ======= ======= ======= ====== ======== =======# تعداد 37 3# Exec time 40 1ms 352us 406us 375us 403us 22us 366us# زمان قفل 42 351us 103us 125us 117us 119us 9us 119us# ردیف ارسال 25 9 1 4 3 3. 89 1. 37 3. 89# ردیف ها بررسی 24 21 5 8 7 7. 70 1. 29 7. 70# اندازه پرس و جو 47 1. 02k 261 262 261. 25 258. 32 0 258. 32# رشته:# میزبان localhost# کاربران# توزیع Query_time# 1us# 10us# 100us ################################################ ################# 1ms# 10ms# 100ms# 1s# 10s +# جداول# نمایش وضعیت TABLE مانند 'blog_article' \ G# SHOW CREATE TABLE `blog_article` \ G# EXPLAIN / *! 50100 PARTITIONS * /SELECT b0_. id id id0، b0_. Slug AS slug1، b0_. عنوان عنوان title2، b0_. excerpt AS excerpt3، b0_. external_link AS external_link4، b0_. توضیحات AS description5، b0_. ایجاد AS ایجاد6، b0_. به روز شده AS updated7 FROM blog_article b0_ ORDER BY b0_. ایجاد DESC LIMIT 10    

اگر ترجیح دادید این سیاههها را به صورت دستی تجزیه و تحلیل کنید، می توانید این کار را نیز انجام دهید - اما ابتدا باید ورود را به فرمت "analyzable" بیشتر صادرات کنید. این را می توان با:

     mysqldumpslow / var / log / mysql / mysql-slow. وارد شوید    

پارامترهای Semalt می توانند اطلاعات بیشتری را فیلتر کنند و تنها موارد مهم صادر شوند. به عنوان مثال: 10 سوال برتر توسط میانگین زمان اجرای مرتب شده اند.

     mysqldumpslow -t 10 -s در / var / log / mysql / localhost-slow. وارد شوید    

برای سایر پارامترها، اسناد را ببینید.

نتیجه گیری

در این پست بهینه سازی MySQL جامع، ما به تکنیک های مختلفی برای ساخت MySQL پرداختیم. با این حال، این امر عمدتا نظری بود - برای استفاده واقعی از کاربرد این تکنیک ها در یک برنامه واقعی، برای پروژه واقعی ماه جاری، به زودی!

آیا ما هر تکنیک و راهنمایی را از دست دادیم؟ به ما اطلاع دهید!

February 28, 2018