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

नियमित तालिका से अस्थायी तालिका में अनुक्रमणिका पास करें?

आप CREATE TEMPORARY TABLE temp_table LIKE regular_table का उपयोग कर सकते हैं , लेकिन वह सब . बनाएगा अनुक्रमणिका, इसलिए जब आप INSERT INTO temp_table SELECT * FROM regular_table करते हैं , इंडेक्स को फिर से बनाया जाएगा - जो लंबा हो सकता है।

या, आप तालिका बना सकते हैं और बाद में अनुक्रमणिका जोड़ सकते हैं:

CREATE TEMPORARY TABLE temp_table
ALTER TABLE temp_table ADD FULLTEXT INDEX (foo,bar,baz)
INSERT INTO temp_table SELECT * FROM regular_table

लेकिन इंडेक्स, फिर से, हर इंसर्ट पर अपडेट किया जाएगा।

संभवत:सबसे कारगर तरीका यह होगा कि आप अस्थायी तालिका बनाएं, सभी डालें, बाद में अनुक्रमणिका बनाएं:

CREATE TEMPORARY TABLE temp_table
ALTER TABLE temp_table ADD FULLTEXT INDEX (foo,bar,baz)
ALTER TABLE temp_table DISABLE KEYS
INSERT INTO temp_table SELECT * FROM regular_table
ALTER TABLE temp_table ENABLE KEYS

फिर से, आपको इंडेक्स के निर्माण के लिए इंतजार करना होगा, सिवाय इसके कि यह अंतिम ALTER स्टेटमेंट के साथ एक चंक में होगा।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL क्वेरी MySQL में तालिका को हटाने के लिए

  2. अप्रत्याशित T_ENCAPSED_AND_WHITESPACE, अपेक्षित T_STRING या T_VARIABLE या T_NUM_STRING त्रुटि

  3. रेक निरस्त! अप्रारंभीकृत स्थिर Mysql2

  4. मैसकल क्वेरी डुप्लिकेट वर्डप्रेस टिप्पणियों को हटाने के लिए?

  5. यह जांचने का सबसे अच्छा तरीका है कि mysql_query ने कोई परिणाम दिया है या नहीं?