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

MySQL अद्यतन क्वेरी को ऑप्टिमाइज़ करें जिसमें WHERE और ORDER BY शामिल है?

इतनी कम संख्या में अपडेट के लिए ORDER-BY और LIMIT का उपयोग न करने का प्रयास करें।

    UPDATE companies t1
    join
    (
        SELECT c.id,@RowNum:[email protected]+1 AS RowID
        FROM companies c, (SELECT @RowNum := 0)r
        WHERE c.crawling = 0 AND c.url_host IS NOT NULL
        ORDER BY c.last_crawled ASC
    )t2
    ON t2.RowID=1 AND t1.id=t2.id
    SET t1.crawling = 1

संपादित करें:1

सुनिश्चित करें कि आपके पास अनुक्रमणिका (last_crawled ASC , id ASC) पर है

    UPDATE companies t1
    join
    (
        Select ID,RowID
        From
        (
            SELECT c.id,@RowNum:[email protected]+1 AS RowID
            FROM companies c, (SELECT @RowNum := 0)r
            WHERE c.crawling = 0 AND c.url_host IS NOT NULL
            ORDER BY c.last_crawled ASC
        )t2
        WHERE ROWID=1
    )t3
    ON t1.id=t3.id
    SET t1.crawling = 1



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक ही बार में कई मूल प्रश्नों को निष्पादित करना

  2. Laravel:स्ट्रिंग डेटा, सही काट दिया गया:1406 डेटा कॉलम के लिए बहुत लंबा है

  3. क्लॉज होने में अज्ञात कुल कॉलम

  4. मैं MySQL डीबी को पिंग कैसे करूं और पीडीओ का उपयोग करके फिर से कनेक्ट करूं?

  5. MySQL में दो समान तालिकाओं में शामिल होना