久久机这里只有精品,国产69精品一区二区亚洲孕妇,91精品国产综合久久婷婷香蕉,午夜久久久久久电影

最新活動(dòng):電腦PC端+手機(jī)端+微網(wǎng)站+自適應(yīng)網(wǎng)頁多模板選擇-建站388元起價(jià)!!!
當(dāng)前位置:主頁 > 網(wǎng)站建設(shè) > SQL查詢超時(shí)的設(shè)置方法(關(guān)于timeout的處理)建站知

SQL查詢超時(shí)的設(shè)置方法(關(guān)于timeout的處理)建站知

時(shí)間:2023-05-23 22:05:23 閱讀: 文章分類: 網(wǎng)站建設(shè) 作者: 建站小能手

導(dǎo)讀:1建站知識(shí)為了優(yōu)化OceanBase的query timeout設(shè)置方式,特調(diào)研MySQL關(guān)于timeout的處理,記錄如下。 復(fù)制代碼 代碼如下: mysql show網(wǎng)站seo優(yōu)化軟件個(gè)業(yè)網(wǎng)站建設(shè)公司。

網(wǎng)站seo優(yōu)化軟件個(gè)業(yè)網(wǎng)站建設(shè)公司為了優(yōu)化OceanBase的query timeout設(shè)置方式,特調(diào)研MySQL關(guān)于timeout的處理,記錄如下。  復(fù)制代碼 代碼如下:     mysql> show variables like '%time%';  +----------------------------+-------------------+  | Variable_name | Value |  +----------------------------+-------------------+  | connect_timeout | 10 |  | datetime_format | %Y-%m-%d %H:%i:%s |  | delayed_insert_timeout | 300 |  | flush_time | 1800 |  | innodb_lock_wait_timeout | 50 |  | innodb_old_blocks_time | 0 |  | innodb_rollback_on_timeout | OFF |  | interactive_timeout | 28800 |  | lc_time_names | en_US |  | lock_wait_timeout | 31536000 |  | long_query_time | 10.000000 |  | net_read_timeout | 30 |  | net_write_timeout | 60 |  | slave_net_timeout | 3600 |  | slow_launch_time | 2 |  | system_time_zone | |  | time_format | %H:%i:%s |  | time_zone | SYSTEM |  | timed_mutexes | OFF |  | timestamp | 1366027807 |  | wait_timeout | 28800 |  +----------------------------+-------------------+  21 rows in set, 1 warning (0.00 sec)      重點(diǎn)解釋其中幾個(gè)參數(shù):  connect_timeout:  The number of seconds that the mysqld server waits for a connect packet before respondingwith Bad handshake. The default value is 10 seconds as of MySQL 5.1.23 and 5 seconds before that. Increasing the connect_timeout value might help if clients frequently encounter errors of the form Lost connection to MySQL server at ‘XXX', system error: errno.  解釋:在獲取鏈接時(shí),等待握手的超時(shí)時(shí)間,只在登錄時(shí)有效,登錄成功這個(gè)參數(shù)就不管事了。主要是為了防止網(wǎng)絡(luò)不佳時(shí)應(yīng)用重連導(dǎo)致連接數(shù)漲太快,一般默認(rèn)即可。  interactive_timeout:  The number of seconds the server waits for activity on an interactive connection before closing it. An interactive client is defined as a client that uses the CLIENT_INTERACTIVE opti建設(shè)網(wǎng)站on to mysql_real_connect(). See alsowait_timeout.  解釋:一個(gè)持續(xù)SLEEP狀態(tài)的線程多久被關(guān)閉。線程每次被使用都會(huì)被喚醒為acrivity狀態(tài),執(zhí)行完Query后成為interactive狀態(tài),重新開始計(jì)時(shí)。wait_timeout不同在于只作用于TCP/IP和Socket鏈接的線程,意義是一樣的。  MySQL可以配置連接的超時(shí)時(shí)間,這個(gè)時(shí)間如果做得太長,甚至到了10min,那么很可能發(fā)生這種情況,3000個(gè)鏈接都被占滿而且sleep在哪,新鏈接進(jìn)不來,導(dǎo)致無法正常服務(wù)。因此這個(gè)配置盡量配置一個(gè)符合邏輯的值,60s或者120s等等。  說人話:  命令行下面敲一個(gè)命令后,直至下一個(gè)命令到來之前的時(shí)間間隔為interactive_time,如果這個(gè)時(shí)間間隔超過了interactive_timeout,則連接會(huì)被自動(dòng)斷開,下一個(gè)命令失敗。不過一般的mysql客戶端都有自動(dòng)重連機(jī)制,下一個(gè)命令會(huì)在重連后執(zhí)行。  復(fù)制代碼 代碼如下:     mysql> set interactive_timeout = 1;  Query OK, 0 rows affected (0.00 sec)  mysql> show session variables like '%timeout%';  +----------------------------+----------+  | Variable_name | Value |個(gè)業(yè)網(wǎng)站建設(shè)公司  +----------------------------+----------+  | connect_timeout | 10 |  | interactive_timeout | 1 |  | wait_timeout | 28800 |  +----------------------------+----------+  10 rows in set (0.00 sec)      復(fù)制代碼 代碼如下:     mysql> set wait_timeout = 1;  Query OK, 0 rows affected (0.00 sec)  【去泡杯茶,等會(huì)兒】  mysql> show session variables like '%timeout%';  ERROR 2006 (HY000): MySQL server has gone away  No connection. Trying to reconnect...  Connection id: 7  Current database: *** NONE ***  +----------------------------+----------+  | Variable_name | Value |  +----------------------------+----------+  | connect_timeout | 10 |  | interactive_timeout | 28800 |  | wait_timeout | 28800 |  +----------------------------+----------+  10 rows in set (0.01 sec)      wait_timeout:  The number of seconds the server waits for activity on a noninteractive connection (連接上沒有活動(dòng)命令,可能是客戶端喝咖啡去了。)before closing it. Before MySQL 5.1.41, this timeout applies only to TCP/IP connections, not to connections made through Unix socket files, named pipes, or shared memory.  On thread startup, the session wait_timeout value is initialized from the global wait_timeout value or from the global interactive_timeout value, depending on the type of client  這里順帶解釋一下什么是non-interactive connection  > Non-Interactive Commands  Just do a quick look up on a table without logging into the client, running the query then logging back out again.  You can instead just type one line using the ' -e ' flag.  復(fù)制代碼 代碼如下:     c:\mysql\bin\mysql -u admin -p myDatabase -e 'SELECT * FROM employee'      net_read_timeout / net_write_timeout  The number of seconds to wait for more data from a connection before aborting the read. Before MySQL 5.1.41, this timeout applies only to TCP/IP connections, not to connections made through Unix socket files, named pipes, or shared memory. When the server is reading from the client, net_read_timeout is the timeout value controlling when to abort. When the server is writing to the client, net_write_timeout is the timeout value controlling when to abort. See 網(wǎng)站建設(shè)also slave_net_timeout.  On Linux, the NO_ALARM build flag affects timeout behavior as indicated in the description of the net_retry_count system variable.  解釋:這個(gè)參數(shù)只對(duì)TCP/IP鏈接有效,分別是數(shù)據(jù)庫等待接收客戶端發(fā)送網(wǎng)絡(luò)包和發(fā)送網(wǎng)絡(luò)包給客戶端的超時(shí)時(shí)間,這是在Activity狀態(tài)下的線程才有效的參數(shù)  JDBC setQueryTimeout函數(shù):  為了避免查詢出現(xiàn)死循環(huán),或時(shí)間過長等現(xiàn)象,而導(dǎo)致線程阻塞,在獲得Statement的實(shí)例后,stmt.setQueryTimeout(10); 避免因?yàn)椴樵儗?dǎo)致程序出現(xiàn)線程阻塞。  但昨天發(fā)現(xiàn)程序出現(xiàn)了,“ORA-01013: 用戶請(qǐng)求取消當(dāng)前的操作”的異常。手工執(zhí)行出錯(cuò)SQL語句發(fā)現(xiàn),這個(gè)語句耗時(shí)20多秒。因?yàn)閟etQueryTimeout(10),所以還沒有執(zhí)行完查詢語句就拋出異常了。使用setQueryTimeout(10)時(shí)一定要把時(shí)間設(shè)置的長一些,如60秒以上。只要不導(dǎo)致線程長期阻塞,就可以。太短了容易拋出,“ORA-01013: 用戶請(qǐng)求取消當(dāng)前的操作”的異常  JDBC實(shí)現(xiàn)setQueryTimeout的原理: 相關(guān)網(wǎng)站seo優(yōu)化軟件個(gè)業(yè)網(wǎng)站建設(shè)公司。

關(guān)鍵詞標(biāo)簽: 標(biāo)題 標(biāo)簽 SQL

聲明: 本文由我的SEOUC技術(shù)文章主頁發(fā)布于:2023-05-23 ,文章SQL查詢超時(shí)的設(shè)置方法(關(guān)于timeout的處理)建站知主要講述標(biāo)簽,標(biāo)題,SQL網(wǎng)站建設(shè)源碼以及服務(wù)器配置搭建相關(guān)技術(shù)文章。轉(zhuǎn)載請(qǐng)保留鏈接: http://www.bifwcx.com/article/web_6103.html

我的IDC 網(wǎng)站建設(shè)技術(shù)SEOUC.COM
專注網(wǎng)站建設(shè),SEO優(yōu)化,小程序設(shè)計(jì)制作搭建開發(fā)定制網(wǎng)站等,數(shù)千家網(wǎng)站定制開發(fā)案例,網(wǎng)站推廣技術(shù)服務(wù)。
  • 5000+合作客服
  • 8年從業(yè)經(jīng)驗(yàn)
  • 150+覆蓋行業(yè)
  • 最新熱門源碼技術(shù)文章

    主站蜘蛛池模板: 施秉县| 建平县| 中西区| 祁东县| 大兴区| 宁城县| 布拖县| 白玉县| 曲水县| 新安县| 玛沁县| 平舆县| 三台县| 新兴县| 德州市| 三江| 德江县| 新营市| 德州市| 乌拉特前旗| 玉山县| 东源县| 凭祥市| 建瓯市| 青神县| 方正县| 汉寿县| 乌拉特中旗| 长岛县| 侯马市| 大化| 彰化市| 舟山市| 灵宝市| 灵武市| 伊通| 永嘉县| 镇原县| 石泉县| 邮箱| 新巴尔虎左旗|