成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

MYSQLJDBC快速查詢響應的方法以及如何快速返回機制的實現(xiàn)

MySQL JDBC快速查詢響應的方法以及如何快速返回機制的實現(xiàn),很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

創(chuàng)新互聯(lián)是專業(yè)的丹東網站建設公司,丹東接單;提供網站設計、成都做網站,網頁設計,網站設計,建網站,PHP網站建設等專業(yè)做網站服務;采用PHP框架,可快速的進行丹東網站開發(fā)網頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網站,專業(yè)的做網站團隊,希望更多企業(yè)前來合作!

一直很糾結,Oracle的快速返回機制,雖然結果集很多,可是它能很快的顯示第一個結果,雖然通過MYSQl的客戶端可以做到,但是通過JDBC卻不行。

今天用了1個多小時,終于搞定此問題,希望對廣大Java朋友在處理時有個參考。

來由:

    通過命令行客戶端加上-q參數(shù),可以極快的響應一個查詢。
    比如結果集為幾千萬的select * from t1,完整結果集需要20秒,通過-q參數(shù)顯示第一行只需要不到1秒。
    但通過jdbc進行查詢,卻不可以實現(xiàn)如上的效果,無論怎么調整URL參數(shù),也不行。
   
過程:
    查看了-q參數(shù)的解釋,如下:
    If you have problems due to insufficient memory for large result sets,
    use the --quick option. This forces  to retrieve results
    from the server a row at a time rather than retrieving the entire result set
    and buffering it in memory before displaying it. This is done by returning
    the result set using the mysql_use_result() C API function in the client/server
    library rather than mysql_store_result().
   
    可見,實現(xiàn)快速響應。
   
    查看 mysql_use_result() 函數(shù),這個是C的API,如果通過C開發(fā),可以用這個函數(shù)。
   
    那么JAVA呢?
   
    查找便準JDBC規(guī)范里面有關函數(shù),沒有任何收獲。 setFetchSize()看上去有效,可在實際測試里,無任何性能提升。
   
    搜索 JDBC mysql_use_result, 有了意外的收獲。
   
    在MYSQL的JDBC,com.mysql.jdbc.Statement 這個接口里發(fā)現(xiàn)了如下的內容:
     abstract public  void disableStreamingResults() throws SQLException

    Resets this statements fetch size and result set type to the values they
    had before enableStreamingResults() was called.

 abstract public  void enableStreamingResults() throws SQLException

    Workaround for containers that 'check' for sane values of Statement.setFetchSize()
    so that applications can use the Java variant of libmysql's mysql_use_result() behavior.
   
   
  原來MySQL提供了自己的一個快速響應的實現(xiàn)。調整測試代碼
 
      stmt = (com.mysql.jdbc.Statement) con.createStatement();
      stmt.setFetchSize(1);
        //
        // 打開流方式返回機制
        stmt.enableStreamingResults();
       
        我期待的效果出現(xiàn)了。第一行數(shù)據(jù)被快速的現(xiàn)實出來,時間不到1秒中。
    MySQL在自己的JDBC驅動里提供了特有的功能,來實現(xiàn)查詢的快速響應,
    特別是結果集非常大或者時間較長,而用戶非常想盡快看到第一條結果時特別有效。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。

標題名稱:MYSQLJDBC快速查詢響應的方法以及如何快速返回機制的實現(xiàn)
網站網址:http://jinyejixie.com/article20/ghopjo.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站設計網站收錄、動態(tài)網站、自適應網站、服務器托管、App開發(fā)

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網站建設網站維護公司
措勤县| 丹东市| 天镇县| 泸溪县| 新丰县| 双流县| 双流县| 方山县| 温宿县| 五河县| 扬州市| 兰州市| 浏阳市| 勃利县| 和硕县| 河南省| 新安县| 石嘴山市| 芮城县| 美姑县| 涡阳县| 凤翔县| 滕州市| 徐闻县| 蒲城县| 哈尔滨市| 新巴尔虎右旗| 太康县| 商洛市| 清镇市| 昆明市| 舟曲县| 车致| 霍州市| 建昌县| 和龙市| 舒城县| 仙游县| 张家口市| 安徽省| 罗田县|