یه سوال در مورد MySQL

Amir61

New Member
در MySQL یک table میتواند از چند تایپ باشد مثلا Heap یا Innodb...
من یه کاری دارم که توش SELECT زیاد داره و می خوام این کار سریع انجام بشه. شما چیزی در مورد مزیت و
معایب این نوع table ها میدونین. من یکم گشتم ولی غیر از یک page که بین heap و اگه اشتباه نکنم
MyAsm مقایسه کرده بود چیزی پیدا نکردم.
 

Dark Man

Member
Amir61 گفت:
در MySQL یک table میتواند از چند تایپ باشد مثلا Heap یا Innodb...
من یه کاری دارم که توش SELECT زیاد داره و می خوام این کار سریع انجام بشه. شما چیزی در مورد مزیت و
معایب این نوع table ها میدونین. من یکم گشتم ولی غیر از یک page که بین heap و اگه اشتباه نکنم
MyAsm مقایسه کرده بود چیزی پیدا نکردم.


اين مقاله رو ببين ...

http://www.iranamp.com/articles/?id=4
 

oxygenws

Active Member
اگر select زیاد داری و بانکت زیاد بزرگ نیست (یا اینکه خیلی رم داری) و سرعت خیلی برات مهمه... از heap.
در غیر این صورت (اگر خیلی خیلی خیلی خیلی زیاد update و insert و delete *نداری*) از myisam استفاده کن.
 

Amir61

New Member
مشکل اصلی من SELECT هستش
ولی یکی به من بگه اگه heap ، جدول رو در ram نگه میداره باید یه دستوری باشه که بگه جدول (heap مربوطه) را در فایل
ذخیره کن؟ نه؟
یا اینکه heap هر بار موقع load شدن mysql درست میشه و بعد موقع update و insert داده های تو یه file اضافه میشن
و heap به روز میشه؟
منطقی تره که دومی باشه ولی مقاله ای که داده بودین و سایت mysql ظاهرا می گن از راه اول استفاده می شه!!
 

oxygenws

Active Member
در متون زیر، منظور از Memory همون Heap است.
کد:
MEMORY doesn't support BLOB or TEXT columns.
کد:
MEMORY doesn't support AUTO_INCREMENT columns before MySQL 4.1.0.
کد:
MEMORY tables are shared between all clients (just like any other non-TEMPORARY  table).
کد:
     *

      If an internal table becomes too large, the server automatically converts it to an on-disk table. The size limit is determined by the value of the tmp_table_size system variable.
    *

      MEMORY tables are never converted to disk tables. To ensure that you don't accidentally do anything foolish, you can set the max_heap_table_size system variable to impose a maximum size on MEMORY tables. For individual tables, you can also specify a MAX_ROWS table option in the CREATE TABLE statement.

و در نهایت، دقیقا جواب سوالتون رو نمی دونم :)
و ....
منطقی تره که دومی باشه ولی مقاله ای که داده بودین و سایت mysql ظاهرا می گن از راه اول استفاده می شه!
اما به نظر من اگر اینچنین که شما می گی، بود...... فرقی با انواع جداول دیسکی نمی کرد!!
چنین جداولی، برای کنترل سشن ها و .... عالی اند.
 

جدیدترین ارسال ها

بالا