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

मैं पहले () विधि का उपयोग क्यों कर सकता हूं जब मेरा परिणाम प्रकार केवल आगे है?

MySQL Connector/J के लिए डिफ़ॉल्ट व्यवहार ResultSet . की संपूर्ण सामग्री को लोड करना है स्मृति में जैसे ही .executeQuery कहा जाता है। इसलिए, भले ही हमारा ResultSet है TYPE_FORWARD_ONLY MySQL JDBC डेवलपर्स ने स्पष्ट रूप से "अच्छा" होने का फैसला किया और हमें .first . का उपयोग करने की अनुमति दी , .absolute , आदि उस स्थिति में (क्योंकि संपूर्ण ResultSet स्मृति में है और आसानी से उपलब्ध है), भले ही JDBC युक्ति कहती है

हालांकि, ध्यान दें कि यदि संपूर्ण ResultSet स्मृति में होने की गारंटी नहीं है, उदाहरण के लिए, यदि हम st.setFetchSize(Integer.MIN_VALUE) का उपयोग करते हैं ResultSet . को "स्ट्रीम" करने के लिए जैसे ही हम इसके माध्यम से स्क्रॉल करते हैं, तो MySQL Connector/J हमें .next के अलावा कुछ भी उपयोग नहीं करने देगा। या हम प्राप्त करेंगे

com.mysql.jdbc.OperationNotSupportedException: Operation not supported for streaming result sets



  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 के लिए इष्टतम varchar आकार क्या हैं?

  2. Laravel Eloquent अधिकतम create_at . के साथ सभी पंक्तियों का चयन करें

  3. Amazon DynamoDB से MySQL सर्वर में डेटा कैसे निर्यात करें

  4. MySQL त्रुटि 1093 के आसपास हो रही है

  5. Ubuntu 12.04 (सटीक पैंगोलिन) पर MySQL रिलेशनल डेटाबेस परिनियोजित करें