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

MySQL में अनकमिटेड डेटा प्राप्त करें

"MySQL NOLOCK सिंटैक्स . शीर्षक वाला लेख मिला "

http://itecsoftware.com/with-nolock-table-hint -इक्विवेलेंट-फॉर-mysql

SQL सर्वर के साथ (NOLOCK) इस तरह दिखता है:

SELECT * FROM TABLE_NAME WITH (nolock)

MySQL के साथ इसे प्राप्त करने के लिए, हम SET SESSION . का उपयोग करके सेशन आइसोलेशन मोड को बदलते हैं आदेश।

SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED ;
 SELECT * FROM TABLE_NAME ;
SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ ;

आप इसे नीचे से भी प्राप्त कर सकते हैं:

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED ;
SELECT * FROM TABLE_NAME ;
COMMIT ;

यह कथन WITH (NOLOCK) के समान कार्य करेगा अर्थात READ UNCOMMITTED जानकारी। हम विश्व स्तर पर सभी कनेक्शनों के लिए आइसोलेशन स्तर भी सेट कर सकते हैं:

 SET GLOBAL TRANSACTION ISOLATION LEVEL READ UNCOMMITTED ;

इसके अलावा, आइसोलेशन से संबंधित दो सिस्टम वैरिएबल भी MySQL सर्वर में मौजूद हैं:

SELECT @@global.tx_isolation; (global isolation level)
SELECT @@tx_isolation; (session isolation level)

या लेन-देन के अंदर अलगाव स्तर सेट करें:

SET TRANSACTION ISOLATION LEVEL REPEATABLE READ
GO

कोड इग्नाइटर में आप अपनी क्वेरी को पहले दो समाधान के साथ लपेट सकते हैं या आप वैश्विक विकल्प का उपयोग कर सकते हैं।

आपके संदर्भ के लिए आप नीचे दिए गए कोड का उपयोग कर सकते हैं:

$this->db->query("SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE");
$this->db->trans_start();

// your code

$this->db->trans_complete();

अपडेट 1:

आप अपने बयानों को चलाने से पहले एक प्रश्न में अलगाव स्तर सेट कर सकते हैं। नीचे सरल php mysqli कोड tu उपयोग isolation level read uncommited

//db connection
$mysqli = new mysqli('localhost', 'user', 'pass', 'db');

//set isolation level
$mysqli->query("SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED");

//your Select Query
$results = $mysqli->query("SELECT * FROM tablename");


while($row = $results->fetch_assoc()) {
    //some statements
}

// Frees the memory associated with a result
$results->free();
$mysqli->query("COMMIT");
// close connection
$mysqli->close();


  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. MySQL के लिए पूर्व समकक्ष से कनेक्ट करें

  3. MySQL में निकटतम पूर्णांक तक कैसे गोल करें?

  4. MySQL क्वेरी में ORDER BY और LIMIT को कैसे प्रोसेस करता है?

  5. MySQL में REGEXP_INSTR () फ़ंक्शन कैसे काम करता है