نقل قول: ازمایش mysql با php
سلام
دلایل مختلفی میتونه داشته باشه که به نظرم مهم ترین عامل اینه که انجین innodb به طور پیشفرض از ایندکس گزاری Clustered و روش B-Tree استفاده میکنه.
ما دو نوع ایندکس گزاری داریم:
1- Non Clustered Index که داده ها به صورت مجازی مرتب میشن
2- Clustered Index که داده ها در سطح فیزیکی مرتب سازی میشن، تو این حالت سرعت عملیات نوشتن کندتره اما سرعت عملیات خواندن بیشتره
علاوه بر این الگوریتم های مختلفی برای نوع ایندکس هست که mysql فقط از نوع b-tree یا همون باینری پشتیبانی میکنه و یه عملیات دیگه هست کلا که مقادیر یک یا چندین ستون رو جداگانه ذخیره میکنه تا سرعت query های select شما خیلی زیاد بشه.
پس وقتی شما یه داده رو تو innodb درج میکنین 2 عملیات اضافه انجام میشه یکی واسه index کردن یکی هم واسه clustered کردن.
عوامل دیگه ای هم ممکنه تاثیرگزار باشن! مثلا به خاطر اضافه شدن امکاناتی مثل transaction, ... هم ممکنه افت سرعت نسبت به وجود بیاد(اما اینا حدس و فرضیه هستن)
ولی اینکه میگین سرعت سلکت myisam بیشتره عجیبه! چون ایندکس نداره که!