Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

क्या टेबल मेमोरी में या डिस्क पर क्रिएट टेम्पोररी टेबल के साथ बनाई जाती हैं?

यह इस बात पर निर्भर करता है कि आप किस इंजन को निर्दिष्ट करते हैं। डिफ़ॉल्ट रूप से तालिका डेटा डिस्क पर संग्रहीत किया जाएगा। यदि आप मेमोरी इंजन निर्दिष्ट करते हैं, तो डेटा केवल मेमोरी में संग्रहीत किया जाएगा।

अस्थायी तालिकाओं के निर्माण के दौरान फाइल सिस्टम में बनाई गई फाइलों को वास्तव में खोजना संभव होना चाहिए। निम्नलिखित कमांड चलाने के बाद:

CREATE TABLE test.table_myisam (x int) ENGINE=MyISAM;
CREATE TABLE test.table_memory (x int) ENGINE=MEMORY;
CREATE TEMPORARY TABLE test.temp_table_myisam (x int) ENGINE=MyISAM;
CREATE TEMPORARY TABLE test.temp_table_memory (x int) ENGINE=MEMORY;

मैंने तब निर्देशिका की जाँच की:C:\ProgramData\MySQL\MySQL Server 5.5\data\test (विंडोज़ पर) और मौजूद फाइलें थीं:

table_innodb.frm   # Table definition.
table_innodb.MYD   # MyISAM table data file.
table_innodb.MYI   # MyISAM table index file.

table_memory.frm   # No MYD or MYI file for the MEMORY engine.

अस्थायी तालिकाओं को C:\Windows\Temp में संग्रहीत किया जाता है और उनके असामान्य नाम होते हैं, लेकिन आंतरिक रूप से डेटा उसी तरह संग्रहीत किया जाता है।

#sql9a0_7_d.frm    # This is the MyISAM temporary table.
#sql9a0_7_d.MYD    # MyISAM data file for temporary table.
#sql9a0_7_d.MYI    # MyISAM index file for temporary table.

#sql9a0_7_c.frm    # This is the MEMORY engine file. No MYD or MYI.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL डेटाबेस की तुलना करें

  2. मैं PHP में SQL क्वेरी के अंदर सिंगल कोट्स को कैसे प्रबंधित करूं?

  3. MySQL में एकाधिक या खंड

  4. दूरस्थ MySQL सर्वर से कनेक्ट करने का प्रयास करते समय MySQL सर्वर से कनेक्शन टूट गया

  5. php mysqli autocommit और रोलबैक का उचित उपयोग