{"id":10008053,"date":"2023-07-07T14:59:01","date_gmt":"2023-07-07T06:59:01","guid":{"rendered":"https:\/\/ityet.com\/?p=10008053"},"modified":"2023-07-07T14:59:01","modified_gmt":"2023-07-07T06:59:01","slug":"mysql%e8%87%aa%e6%b2%bb%e5%b9%b3%e5%8f%b0%e5%bb%ba%e8%ae%be%e7%9a%84%e5%86%85%e6%a0%b8%e5%8e%9f%e7%90%86%e5%8f%8a%e5%ae%9e%e8%b7%b5%ef%bc%88%e4%b8%8a%ef%bc%89","status":"publish","type":"post","link":"https:\/\/itmax.cn\/?p=10008053","title":{"rendered":"MySQL\u81ea\u6cbb\u5e73\u53f0\u5efa\u8bbe\u7684\u5185\u6838\u539f\u7406\u53ca\u5b9e\u8df5\uff08\u4e0a\uff09"},"content":{"rendered":"<blockquote><p>\u672c\u6587\u6574\u7406\u81ea\u4e3b\u9898\u5206\u4eab\u300a\u7f8e\u56e2\u6570\u636e\u5e93\u81ea\u6cbb\u670d\u52a1\u5e73\u53f0\u5efa\u8bbe\u300b\uff0c\u7cfb\u8d85\u5927\u89c4\u6a21\u6570\u636e\u5e93\u96c6\u7fa4\u4fdd\u7a33\u7cfb\u5217\u7684\u7b2c\u56db\u7bc7\u6587\u7ae0\u3002\u672c\u6587\u4f5c\u8005\u5728\u6f14\u8bb2\u540e\u6839\u636e\u540c\u5b66\u4eec\u7684\u53cd\u9988\uff0c\u8865\u5145\u4e86\u5f88\u591a\u6280\u672f\u7ec6\u8282\uff0c\u8ddf\u6f14\u8bb2\uff08\u89c6\u9891\uff09\u76f8\u6bd4\uff0c\u5185\u5bb9\u66f4\u52a0\u4e30\u5bcc\u3002\u6587\u7ae0\u5206\u6210\u4e0a\u3001\u4e0b\u4e24\u7bc7\uff0c\u4e0a\u7bc7\u5c06\u4ecb\u7ecd\u6570\u636e\u5e93\u7684\u5f02\u5e38\u53d1\u73b0\u8ddf\u8bca\u65ad\u65b9\u9762\u7684\u5185\u5bb9\uff0c\u4e0b\u7bc7\u5c06\u4ecb\u7ecd\u5185\u6838\u53ef\u89c2\u6d4b\u6027\u5efa\u8bbe\u3001\u5168\u91cfSQL\u3001\u5f02\u5e38\u5904\u7406\u4ee5\u53ca\u7d22\u5f15\u4f18\u5316\u5efa\u8bae\u4e0eSQL\u6cbb\u7406\u65b9\u9762\u7684\u5185\u5bb9\u3002\u5e0c\u671b\u80fd\u591f\u5bf9\u5927\u5bb6\u6709\u6240\u5e2e\u52a9\u6216\u542f\u53d1\u3002<\/p><\/blockquote>\n<h2>1 \u80cc\u666f&#038;\u76ee\u6807<\/h2>\n<p>MySQL\u7684\u6545\u969c\u4e0eSQL\u7684\u6027\u80fd\uff0c\u662fDBA\u8ddf\u7814\u53d1\u540c\u5b66\u6bcf\u5929\u90fd\u9700\u8981\u5173\u6ce8\u7684\u4e24\u4e2a\u91cd\u8981\u95ee\u9898\uff0c\u5b83\u4eec\u76f4\u63a5\u5f71\u54cd\u7740\u6570\u636e\u5e93\u8ddf\u4e1a\u52a1\u5e94\u7528\u7a0b\u5e8f\u7684\u7a33\u5b9a\u6027\u3002\u800c\u5f53\u6545\u969c\u6216\u8005SQL\u6027\u80fd\u95ee\u9898\u53d1\u751f\u65f6\uff0c\u5982\u4f55\u5feb\u901f\u53d1\u73b0\u3001\u5206\u6790\u4ee5\u53ca\u5904\u7406\u8fd9\u4e9b\u95ee\u9898\uff0c\u4f7f\u5f97\u6570\u636e\u5e93\u6216\u8005\u4e1a\u52a1\u7cfb\u7edf\u5feb\u901f\u6062\u590d\uff0c\u662f\u4e00\u9879\u6bd4\u8f83\u5927\u7684\u6311\u6218\u3002<\/p>\n<p>\u9488\u5bf9\u6b64\u95ee\u9898\uff0c\u7f8e\u56e2\u6570\u636e\u5e93\u81ea\u6cbb\u5e73\u53f0\u7ecf\u8fc7\u591a\u8f6e\u7684\u8fed\u4ee3\u5efa\u8bbe\uff0c\u5728\u591a\u4e2a\u573a\u666f\u4e0b\u5df2\u7ecf\u5b9e\u73b0\u4e86\u5f02\u5e38\u7684\u53d1\u73b0\u3001\u5206\u6790\u4ee5\u53ca\u5904\u7406\u7684\u7aef\u5230\u7aef\u80fd\u529b\u3002\u672c\u6587\u5c06\u8ddf\u5927\u5bb6\u5206\u4eab\u4e00\u4e0b\u6211\u4eec\u5e73\u53f0\u5efa\u8bbe\u7684\u5fc3\u8def\u5386\u7a0b\uff0c\u540c\u65f6\u63d0\u4f9b\u4e00\u4e9b\u7ecf\u9a8c\u3001\u6559\u8bad\u4f9b\u540c\u884c\u53c2\u8003\uff0c\u5e0c\u671b\u80fd\u591f\u8d77\u5230\u201c\u629b\u7816\u5f15\u7389\u201d\u7684\u4f5c\u7528\u3002\u672c\u6587\u4e3b\u8981\u4ecb\u7ecd\u4ee5\u4e0b\u4e3b\u9898\uff1a<\/p>\n<ul>\n<li><strong>\u5f02\u5e38\u53d1\u73b0<\/strong>\uff1a\u57fa\u4e8e\u6570\u7406\u7edf\u8ba1\u65b9\u5f0f\u7684\u52a8\u6001\u9600\u503c\u7b56\u7565\uff0c\u6765\u53d1\u73b0\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u6307\u6807\u5f02\u5e38\u3002<\/li>\n<li><strong>\u6545\u969c\u5206\u6790<\/strong>\uff1a\u4e30\u5bcc\u5b8c\u5584\u6570\u636e\u5e93\u5173\u952e\u4fe1\u606f\uff0c\u6765\u505a\u7cbe\u786e\u7684\u6570\u636e\u5e93\u5f02\u5e38\u6839\u56e0\u5206\u6790\uff1b\u6df1\u5165\u6316\u6398\u5185\u6838\u4ef7\u503c\uff0c\u6765\u89e3\u51b3\u6839\u56e0\u8bca\u65ad\u65b9\u9762\u7684\u7591\u96be\u6742\u75c7\u3002<\/li>\n<li><strong>\u6545\u969c\u5904\u7406<\/strong>\uff1a\u4f9d\u636e\u5f02\u5e38\u6839\u56e0\u5206\u6790\u7684\u4e0d\u540c\u7ed3\u679c\uff0c\u901a\u8fc7\u81ea\u52a9\u5316\u6216\u81ea\u52a8\u5316\u7684\u65b9\u5f0f\u6765\u8fdb\u884c\u6545\u969c\u7684\u6062\u590d\u5904\u7406\u3002<\/li>\n<li><strong>\u5185\u6838\u53ef\u89c2\u6d4b\u6027\u5efa\u8bbe<\/strong>\uff1a\u5982\u4f55\u8ddf\u6570\u636e\u5e93\u5185\u6838\u56e2\u961f\u5408\u4f5c\uff0c\u4ece\u5185\u6838\u7684\u89d2\u5ea6\u6765\u5206\u6790SQL\u6027\u80fd\u95ee\u9898\uff0c\u901a\u8fc7\u5185\u6838\u56e2\u961f\u5927\u91cf\u7684\u5185\u6838\u4ee3\u7801\u6539\u9020\uff0c\u529b\u6c42\u5c06\u6570\u636e\u5e93\u7684\u53ef\u89c2\u6d4b\u6027\u8ddf\u8bca\u65ad\u505a\u5230\u6781\u81f4\u3002<\/li>\n<li><strong>\u5355SQL\u4f18\u5316\u5efa\u8bae<\/strong>\uff1a\u901a\u8fc7\u6539\u9020MySQL\u5b58\u50a8\u5f15\u64ce\uff0c\u540c\u65f6\u7ed3\u5408\u67e5\u8be2\u4f18\u5316\u6765\u6253\u9020\u57fa\u4e8eCost\u6a21\u5f0f\u7684\u7d22\u5f15\u4f18\u5316\u5efa\u8bae\u3002<\/li>\n<li><strong>\u57fa\u4e8eworkload\u7d22\u5f15\u4f18\u5316\u5efa\u8bae<\/strong>\uff1a\u57fa\u4e8e\u6574\u4e2aDB\u6216\u8005\u5b9e\u4f8b\u7684Workload\u7b56\u7565\u7684\u7d22\u5f15\u4f18\u5316\u5efa\u8bae\uff0c\u4e3a\u5b9e\u73b0\u6570\u636e\u5e93\u7684\u7d22\u5f15\u81ea\u7ef4\u62a4\u63d0\u4f9b\u524d\u7f6e\u6761\u4ef6\u3002<\/li>\n<li><strong>\u57fa\u4e8eSQL\u751f\u547d\u5468\u671f\u7684\u6cbb\u7406<\/strong>\uff1a\u5b9e\u73b0\u4eceSQL\u4e0a\u7ebf\u524d\u3001\u6267\u884c\u8fc7\u7a0b\u4e2d\u3001\u6267\u884c\u5b8c\u6bd5\u540e\u51e0\u4e2a\u73af\u8282\uff0c\u4ee5\u671f\u5b9e\u73b0\u7aef\u5230\u7aef\u7684\u6162SQL\u6cbb\u7406\u3002<\/li>\n<\/ul>\n<h2>2 \u5e73\u53f0\u6f14\u8fdb\u7b56\u7565<\/h2>\n<p>\u7f8e\u56e2\u6570\u636e\u5e93\u81ea\u6cbb\u5e73\u53f0\u4ece\u4e0b\u5230\u4e0a\u603b\u4f53\u5206\u4e3a\u56db\u5c42\uff0c\u5206\u522b\u4e3a\u63a5\u53e3\u4e0e\u5c55\u793a\u3001\u5e73\u53f0\u529f\u80fd\u5c42\uff0c\u8ba1\u7b97\u4e0e\u5b58\u50a8\u3001\u6570\u636e\u91c7\u96c6\u5c42\uff0c\u5e73\u53f0\u7684\u603b\u4f53\u67b6\u6784\u4ee5\u53ca\u6bcf\u4e00\u5c42\u7684\u4f5c\u7528\u5982\u4e0b\uff1a<\/p>\n<p><img decoding=\"async\" referrerpolicy=\"no-referrer\" src=\"https:\/\/segmentfault.com\/img\/remote\/1460000043982445\" alt=\"\" title=\"\" loading=\"lazy\"><\/p>\n<ul>\n<li><strong>\u6570\u636e\u5e93\u91c7\u96c6\u5c42<\/strong>\uff1a\u8981\u8fdb\u884c\u6570\u636e\u5e93\u7684\u8bca\u65ad\u4e0e\u5206\u6790\uff0c\u9700\u8981\u4f9d\u9760\u5173\u952e\u7684\u6307\u6807\u4ee5\u53caSQL\u6587\u672c\u6570\u636e\uff0c\u5f53\u524d\u5728\u6bcf\u4e2a\u6570\u636e\u5e93\u5b9e\u4f8b\u4e0a\u90e8\u7f72\u4e00\u4e2a\u6570\u636e\u91c7\u96c6\u7a0b\u5e8f\uff08rds-agent\uff09\u7edf\u4e00\u8d1f\u8d23\u91c7\u96c6\u3001\u4e0a\u62a5\u5173\u952e\u6570\u503c\u6307\u6807\u4ee5\u53caSQL\u6587\u672c\u6570\u636e\u3002<\/li>\n<li><strong>\u6570\u636e\u8ba1\u7b97\u4e0e\u5b58\u50a8\u5c42<\/strong>\uff1a\u6570\u636e\u91c7\u96c6\u5c42\u4e0a\u62a5\u4e0a\u6765\u7684\u6570\u636e\uff0c\u4f9d\u6258Kafka\u3001Flink&#038;Spark\u4f5c\u4e3a\u6570\u636e\u7f13\u51b2\uff0c\u5bf9\u5173\u952e\u7ec4\u4ef6\u8fdb\u884c\u76f8\u5173\u7684\u6570\u636e\u5904\u7406\uff0c\u5982SQL\u89e3\u6790\u3001SQL\u6a21\u7248\u5316\u3001\u6570\u636e\u805a\u5408\u7b49\u64cd\u4f5c\uff0c\u518d\u628a\u5904\u7406\u7684\u7ed3\u679c\u5b58\u5165ES\u3001Blade\uff08\u7f8e\u56e2\u81ea\u7814\u7684\u5206\u5e03\u5f0f\u6570\u636e\u5e93\uff09\u3001Hive\u7b49\u5206\u5e03\u5f0f\u6570\u636e\u5e93\u6216\u8005\u5927\u6570\u636e\u5e73\u53f0\uff0c\u63d0\u4f9b\u7ed9\u4e0a\u5c42\u7684\u5e73\u53f0\u529f\u80fd\u5c42\u4f7f\u7528\u3002<\/li>\n<li><strong>\u5e73\u53f0\u529f\u80fd\u5c42<\/strong>\uff1a\u6b64\u5c42\u662f\u6574\u4e2a\u7cfb\u7edf\u6700\u4e3a\u91cd\u8981\u7684\u90e8\u5206\uff0c\u7531\u4e8e\u5e73\u53f0\u540c\u65f6\u670d\u52a1\u4e8eDBA\u8fd0\u7ef4\u56e2\u961f\u53ca\u7814\u53d1\u56e2\u961f\uff0c\u6240\u4ee5\u5e73\u53f0\u7684\u5efa\u8bbe\u5206\u6210\u4e86\u4e24\u6761\u8def\uff1a1\uff09\u4e3b\u8981\u9762\u5411DBA\u7528\u6237\uff0c\u6309\u7167\u53ef\u89c2\u6d4b\u6027\u5efa\u8bbe\u3001\u5f02\u5e38\u53d1\u73b0\u3001\u6545\u969c\u6839\u56e0\u5206\u6790\u3001\u6545\u969c\u5904\u7406\u51e0\u4e2a\u9636\u6bb5\u6765\u8fdb\u884c\u5efa\u8bbe\uff1b2\uff09\u4e3b\u8981\u9762\u5411\u7814\u53d1\u540c\u5b66\uff0c\u6309\u7167SQL\u4f18\u5316\u5efa\u8bae\u3001\u98ce\u9669SQL\u7684\u53d1\u73b0\u3001\u5206\u6790\u4e0eSQL\u6cbb\u7406\u7b49\u8ddfSQL\u76f8\u5173\u7684\u51e0\u4e2a\u9636\u6bb5\u6765\u5efa\u8bbe\u3002\u5f53\u7136\uff0c\u4e24\u8005\u5e76\u6ca1\u6709\u4e25\u683c\u754c\u9650\uff0c\u8fd9\u4e9b\u529f\u80fd\u6240\u6709\u7684\u7528\u6237\u90fd\u53ef\u4ee5\u540c\u65f6\u4f7f\u7528\u3002<\/li>\n<li><strong>\u63a5\u53e3\u4e0e\u5c55\u793a<\/strong>\uff1a\u5e73\u53f0\u529f\u80fd\u5c42\u63d0\u4f9b\u7684\u6838\u5fc3\u529f\u80fd\u4f1a\u901a\u8fc7Portal\u6765\u5c55\u793a\uff0c\u540c\u65f6\u4e3a\u4e86\u8ba9\u5e73\u53f0\u63d0\u4f9b\u7684\u529f\u80fd\u66f4\u597d\u5730\u96c6\u6210\u5728\u7528\u6237\u81ea\u5df1\u7684\u7cfb\u7edf\u4e2d\uff0c\u6211\u4eec\u4e5f\u901a\u8fc7OpenAPI\u7684\u65b9\u5f0f\u5bf9\u5916\u63d0\u4f9b\u670d\u52a1\u3002<\/li>\n<\/ul>\n<h2>3 \u5f02\u5e38\u53d1\u73b0<\/h2>\n<p>\u6570\u636e\u5e93\u4ea7\u751f\u5f02\u5e38\u65f6\u9700\u8981\u5c3d\u65e9\u5730\u53d1\u73b0\uff0c\u624d\u80fd\u9632\u6b62\u5f02\u5e38\u4e00\u8fdb\u6b65\u653e\u5927\uff0c\u907f\u514d\u9020\u6210\u771f\u6b63\u7684\u6545\u969c\u3002\u5f02\u5e38\u53d1\u73b0\u7684\u4e3b\u8981\u65b9\u5f0f\u662f\u5bf9\u6570\u636e\u5e93\u6216\u8005OS\u7684\u5173\u952e\u6570\u503c\u6307\u6807\u8fdb\u884c\u76d1\u63a7\uff0c\u76f8\u5173\u6307\u6807\u5305\u62ecseconds_behind_master\u3001slow_queries\u3001thread_running\u3001system load\u3001Threads_connected\u7b49\u7b49\uff0c\u4e5f\u53ef\u4ee5\u662f\u4e1a\u52a1\u7aef\u7814\u53d1\u5173\u6ce8\u7684\u5173\u952e\u6307\u6807\uff0c\u5982\u201c\u5e94\u7528\u7a0b\u5e8f\u8bbf\u95ee\u6570\u636e\u5e93\u7684\u62a5\u9519\u6570\u91cf\u201d\u3001\u201cSQL\u6267\u884c\u5e73\u5747\u8017\u65f6\u201d\u7b49\u6307\u6807\u6765\u8fdb\u884c\u76d1\u63a7\u3002\u5982\u679c\u8fd9\u4e9b\u6307\u6807\u77ed\u65f6\u95f4\u5185\u53d1\u751f\u6bd4\u8f83\u5927\u7684\u6ce2\u52a8\uff0c\u90a3\u4e48\u6570\u636e\u5e93\u5f88\u53ef\u80fd\u51fa\u73b0\u4e86\u4e00\u4e9b\u5f02\u5e38\uff0c\u8fd9\u5c31\u9700\u8981\u53ca\u65f6\u8fdb\u884c\u5904\u7406\u3002<\/p>\n<p>\u8fd9\u4e9b\u5f02\u5e38\u5982\u4f55\u624d\u80fd\u88ab\u53d1\u73b0\u5462\uff1f\u4e1a\u754c\u4e00\u822c\u6709\u57fa\u4e8e\u9759\u6001\u9600\u503c\u4ee5\u53ca\u52a8\u6001\u9600\u503c\u7684\u4e24\u79cd\u5f02\u5e38\u53d1\u73b0\u7b56\u7565\u3002\u524d\u8005\u5f88\u7b80\u5355\uff0c\u5982\u6839\u636e\u4e13\u5bb6\u7ecf\u9a8c\uff0c\u4eba\u5de5\u8bbe\u5b9aseconds_behind_master\u6216\u8005Threads_connected\u7684\u544a\u8b66\u9600\u503c\uff0c\u8d85\u8fc7\u9600\u503c\u5c31\u8ba4\u4e3a\u53d1\u751f\u4e86\u5f02\u5e38\u3002\u6b64\u65b9\u5f0f\u867d\u7136\u7b80\u5355\u6613\u7528\uff0c\u4f46OLTP\u3001OLAP\u7b49\u4e0d\u540c\u7684\u4e1a\u52a1\u573a\u666f\uff0c\u5bf9\u4e8e\u76f8\u540c\u6307\u6807\u7684\u654f\u611f\u5ea6\u662f\u4e0d\u4e00\u6837\u7684\uff0c\u5982\u679c\u6240\u6709\u573a\u666f\u90fd\u4f7f\u7528\u7edf\u4e00\u7684\u9759\u6001\u9600\u503c\u6765\u505a\u5f02\u5e38\u53d1\u73b0\uff0c\u96be\u514d\u4f1a\u6709\u5f88\u591a\u8bef\u544a\u3002\u800c\u5982\u679c\u6bcf\u4e2a\u573a\u666f\u90fd\u53bb\u624b\u5de5\u53bb\u8c03\u6574\uff0c\u65e2\u4e0d\u7075\u6d3b\uff0c\u6210\u672c\u53c8\u592a\u9ad8\uff0c\u89e3\u51b3\u65b9\u6848\u662f\u57fa\u4e8e\u4e0d\u540c\u573a\u666f\u7684\u5386\u53f2\u65f6\u5e8f\u6570\u636e\uff0c\u4f7f\u7528\u6570\u7406\u7edf\u8ba1\u7684\u65b9\u5f0f\u6765\u5206\u522b\u5efa\u6a21\uff0c\u901a\u8fc7\u62df\u5408\u51fa\u5404\u81ea\u573a\u666f\u7684\u6a21\u578b\u6765\u4f5c\u4e3a\u5f02\u5e38\u53d1\u73b0\u7684\u7b56\u7565\u3002<\/p>\n<h3>3.1 \u6570\u636e\u5206\u5e03\u89c4\u5f8b\u4e0e\u7b97\u6cd5\u9009\u62e9<\/h3>\n<p>\u57fa\u4e8e\u6570\u7406\u7edf\u8ba1\u65b9\u6cd5\u7684\u5f02\u5e38\u53d1\u73b0\uff0c\u9700\u8981\u6839\u636e\u5177\u4f53\u7684\u573a\u666f\u4f7f\u7528\u7279\u5b9a\u7684\u6a21\u578b\u3002\u4e00\u822c\u6765\u8bf4\uff0c\u6a21\u578b\u7684\u9009\u62e9\u8ddf\u65f6\u5e8f\u6570\u636e\u7684\u5206\u5e03\u5f62\u6001\u6709\u5f88\u5927\u7684\u5173\u7cfb\uff0c\u65f6\u5e8f\u6570\u636e\u7684\u5206\u5e03\u5e76\u4e0d\u603b\u662f\u90fd\u50cf\u6b63\u6001\u5206\u5e03\u4e00\u6837\u90fd\u662f\u5bf9\u79f0\u7684\uff0c\u800c\u662f\u6709\u4e9b\u662f\u5de6\u504f\u7684\uff0c\u6709\u4e9b\u662f\u53f3\u504f\u7684\uff0c\u5f53\u7136\u4e5f\u6709\u5bf9\u79f0\u5206\u5e03\u7684\u3002\u4e0b\u56fe\u5c31\u5c55\u793a\u5178\u578b\u7684\u4e09\u79cd\u4e0d\u540c\u7684\u65f6\u5e8f\u6570\u636e\u5206\u5e03\u5f62\u6001\u3002<\/p>\n<p><img decoding=\"async\" referrerpolicy=\"no-referrer\" src=\"https:\/\/segmentfault.com\/img\/remote\/1460000043982446\" alt=\"\" title=\"\" loading=\"lazy\"><\/p>\n<p>\u9488\u5bf9\u4e0a\u9762\u7684\u4e09\u79cd\u4e0d\u540c\u65f6\u5e8f\u6570\u636e\u7684\u5206\u5e03\u5f62\u6001\uff0c\u4ee5\u53ca\u6bcf\u79cd\u5f02\u5e38\u68c0\u6d4b\u7b97\u6cd5\u81ea\u8eab\u7684\u7279\u6027\uff0c\u6211\u4eec\u5206\u522b\u91c7\u7528\u4e0d\u540c\u7684\u5f02\u5e38\u68c0\u6d4b\u7b97\u6cd5\u3002<\/p>\n<p>\u5bf9\u4e8e\u4f4e\u504f\u6001\u9ad8\u5bf9\u79f0\u5206\u5e03\u9009\u62e9\u201c\u7edd\u5bf9\u4e2d\u4f4d\u5dee\uff08MAD\uff09\u201d\uff0c\u4e2d\u7b49\u504f\u6001\u5206\u5e03\u9009\u62e9\u201c\u7bb1\u5f62\u56fe\uff08Boxplot\uff09\u201d\uff0c\u9ad8\u504f\u6001\u5206\u5e03\u9009\u62e9\u201c\u6781\u503c\u7406\u8bba\uff08EVT\uff09\u201d\u3002\u6ca1\u6709\u9009\u62e93Sigma\u7684\u4e3b\u8981\u539f\u56e0\u662f\uff1a\u5b83\u5bf9\u5f02\u5e38\u5bb9\u5fcd\u5ea6\u8f83\u4f4e\uff08\u5efa\u6a21\u7684\u65f6\u5019\uff0c\u5982\u679c\u6709\u566a\u97f3\u7b49\u5f02\u5e38\u70b9\u4e5f\u4e0d\u4f1a\u5bf9\u6a21\u578b\u7684\u5f62\u6001\u4ea7\u751f\u5f88\u5927\u7684\u5f71\u54cd\uff0c\u5219\u8bf4\u660e\u5f02\u5e38\u5bb9\u5fcd\u5ea6\u5f88\u9ad8\uff09\uff0c\u800c\u7edd\u5bf9\u4e2d\u4f4d\u5dee\uff08MAD\uff09\u4ece\u7406\u8bba\u4e0a\u800c\u8a00\u5177\u6709\u66f4\u597d\u7684\u5f02\u5e38\u5bb9\u5fcd\u5ea6\uff0c\u6240\u4ee5\u5728\u6570\u636e\u5448\u73b0\u9ad8\u5bf9\u79f0\u5206\u5e03\u65f6\uff0c\u901a\u8fc7\u7edd\u5bf9\u4e2d\u4f4d\u5dee\u66ff\u4ee33Sigma\u6765\u8fdb\u884c\u68c0\u6d4b\u3002<\/p>\n<p><img decoding=\"async\" referrerpolicy=\"no-referrer\" src=\"https:\/\/segmentfault.com\/img\/remote\/1460000043982447\" alt=\"\" title=\"\" loading=\"lazy\"><\/p>\n<h3>3.2 \u6a21\u578b\u9009\u62e9<\/h3>\n<p>\u6570\u636e\u5206\u5e03\u8ddf\u7b97\u6cd5\u9002\u7528\u573a\u666f\u7684\u5206\u6790\u4e4b\u540e\uff0c\u5bf9\u5185\u90e8\u7684\u65f6\u5e8f\u6570\u636e\u8fdb\u884c\u68c0\u67e5\uff0c\u53d1\u73b0\u6570\u636e\u7684\u89c4\u5f8b\u4e3b\u8981\u5448\u73b0\u6f02\u79fb\u3001\u5468\u671f\u548c\u5e73\u7a33\u4e09\u79cd\u72b6\u6001\uff0c\u5bf9\u6837\u672c\u5148\u8fdb\u884c\u65f6\u5e8f\u7684\u6f02\u79fb\uff08\u5982\u679c\u68c0\u6d4b\u5b58\u5728\u6f02\u79fb\u7684\u573a\u666f\uff0c\u5219\u9700\u8981\u6839\u636e\u68c0\u6d4b\u83b7\u5f97\u7684\u6f02\u79fb\u70b9t\u6765\u5207\u5272\u8f93\u5165\u65f6\u5e8f\uff0c\u4f7f\u7528\u6f02\u79fb\u70b9\u540e\u7684\u65f6\u5e8f\u6837\u672c\u4f5c\u4e3a\u540e\u7eed\u5efa\u6a21\u6d41\u7a0b\u7684\u8f93\u5165\uff09\u3002<\/p>\n<p>\u4e4b\u540e\u540c\u65f6\u8fdb\u884c\u5e73\u7a33\u6027\u5206\u6790\uff08\u5982\u679c\u8f93\u5165\u65f6\u5e8fS\u6ee1\u8db3\u5e73\u7a33\u6027\u68c0\u9a8c\uff0c\u5219\u76f4\u63a5\u901a\u8fc7\u7bb1\u5f62\u56fe\u6216\u7edd\u5bf9\u4e2d\u4f4d\u5dee\u7684\u65b9\u5f0f\u6765\u8fdb\u884c\u5efa\u6a21\uff09\u4ee5\u53ca\u5468\u671f\u5206\u6790\uff08\u5b58\u5728\u5468\u671f\u6027\u7684\u60c5\u51b5\u4e0b\uff0c\u5c06\u5468\u671f\u8de8\u5ea6\u8bb0\u4e3aT\uff0c\u5c06\u8f93\u5165\u65f6\u5e8fS\u6839\u636e\u8de8\u5ea6T\u8fdb\u884c\u5207\u5272\uff0c\u9488\u5bf9\u5404\u4e2a\u65f6\u95f4\u7d22\u5f15j\u2208{0,1,\u22ef,T\u22121} \u6240\u7ec4\u6210\u7684\u6570\u636e\u6876\u8fdb\u884c\u5efa\u6a21\u6d41\u7a0b\u3002\u4e0d\u5b58\u5728\u5468\u671f\u6027\u7684\u60c5\u51b5\u4e0b\uff0c\u9488\u5bf9\u5168\u90e8\u8f93\u5165\u65f6\u5e8fS\u4f5c\u4e3a\u6570\u636e\u6876\u8fdb\u884c\u5efa\u6a21\u6d41\u7a0b\uff09\uff0c\u518d\u5bf9\u65f6\u5e8f\u6570\u636e\u5206\u5e03\u7279\u6027\u8fdb\u884c\u504f\u5ea6\u7684\u8ba1\u7b97\uff0c\u6700\u540e\u518d\u6839\u636e\u4e0d\u540c\u7684\u504f\u5ea6\u7279\u6027\u9009\u62e9\u4e0d\u540c\u7684\u7b97\u6cd5\u6a21\u578b\uff0c\u5177\u4f53\u5982\u4e0b\uff1a<\/p>\n<p><img decoding=\"async\" referrerpolicy=\"no-referrer\" src=\"https:\/\/segmentfault.com\/img\/remote\/1460000043982448\" alt=\"\" title=\"\" loading=\"lazy\"><\/p>\n<p>\u5728\u7b97\u6cd5\u786e\u5b9a\u4e4b\u540e\uff0c\u5148\u5728\u79bb\u7ebf\u73af\u5883\u9488\u5bf9\u4e0d\u540c\u7684\u573a\u666f\u4f7f\u7528\u5386\u53f2\u6307\u6807\u6765\u8bad\u7ec3\u6a21\u578b\uff0c\u6a21\u578b\u8bad\u7ec3\u5b8c\u6bd5\u4e4b\u540e\u4f1a\u5b58\u5165\u6570\u636e\u5e93\uff0c\u5728\u751f\u4ea7\u73af\u5883\u8fd0\u884c\u8fc7\u7a0b\u4e2d\uff0c\u5bf9\u4e8e\u4e0d\u540c\u573a\u666f\u4e0b\u7684\u6570\u503c\u6307\u6807\u6839\u636e\u5176\u7279\u6027\u6765\u52a0\u8f7d\u4e0d\u540c\u7684\u6a21\u578b\uff0c\u5e76\u4e14\u7ed3\u5408Flink\u5b9e\u65f6\u8ba1\u7b97\u6846\u67b6\u6765\u5b9e\u65f6\u7684\u53d1\u73b0\u6307\u6807\u7684\u5f02\u5e38\u5e76\u8fdb\u884c\u544a\u8b66\u3002<\/p>\n<p><img decoding=\"async\" referrerpolicy=\"no-referrer\" src=\"https:\/\/segmentfault.com\/img\/remote\/1460000043982449\" alt=\"\" title=\"\" loading=\"lazy\"><\/p>\n<h2>4 \u5f02\u5e38\u8bca\u65ad<\/h2>\n<p>\u53d1\u73b0\u6307\u6807\u5f02\u5e38\u540e\uff0c\u9700\u8981\u5feb\u901f\u7684\u7ed9\u51fa\u5f02\u5e38\u7684\u6839\u56e0\uff0c\u6211\u4eec\u53ef\u4ee5\u6839\u636e\u5177\u4f53\u7684\u6839\u56e0\u6765\u9009\u62e9\u4e0d\u540c\u7684\u5904\u7406\u7b56\u7565\uff0c\u7136\u540e\u8fdb\u884c\u81ea\u52a8\u6216\u8005\u624b\u52a8\u7684\u6062\u590d\u5de5\u4f5c\u3002\u6839\u56e0\u5206\u6790\u53ef\u4ee5\u57fa\u4e8e\u4e13\u5bb6\u7ecf\u9a8c\uff0c\u4e5f\u53ef\u4ee5\u4e25\u683c\u5730\u6309\u7167\u5185\u6838\u4ee3\u7801\u7684\u903b\u8f91\u6765\u8fdb\u884c\u5206\u6790\u3002<\/p>\n<p><img decoding=\"async\" referrerpolicy=\"no-referrer\" src=\"https:\/\/segmentfault.com\/img\/remote\/1460000043982450\" alt=\"\" title=\"\" loading=\"lazy\"><\/p>\n<p>\u672c\u6587\u91cd\u70b9\u8bb2\u8ff0\u540e\u8005\uff0c\u5f3a\u8c03\u5982\u4f55\u4f7f\u7528\u201c\u5185\u6838\u601d\u7ef4\u201d\u6765\u89e3\u51b3\u4e13\u5bb6\u7ecf\u9a8c\u5f88\u96be\u6216\u8005\u65e0\u6cd5\u89e3\u51b3\u7684\u8bca\u65ad\u95ee\u9898\u3002\u672c\u6587\u5c06\u5217\u4e3e\u201c\u5185\u6838\u4ee3\u7801\u8def\u5f84\u5206\u6790\u201d\u3001\u201d\u5185\u6838\u65e5\u5fd7\u5206\u6790\u201d\u3001\u201c\u5185\u6838\u529f\u80fd\u589e\u5f3a\u201c\u3001\u201c\u5185\u6838Core Dump\u5206\u6790\u201d\u4ee5\u53ca\u201c\u5185\u6838\u57cb\u70b9\u201d\u7b49\u51e0\u79cd\u4e0d\u540c\u7684\u8303\u5f0f\uff0c\u6765\u8bf4\u660e\u6570\u636e\u5e93\u6839\u56e0\u8bca\u65ad\u7684\u601d\u8def\u3002<\/p>\n<h3>4.1 \u4e3b\u4ece\u5ef6\u8fdf\uff08\u5185\u6838\u4ee3\u7801\u8def\u5f84\u5206\u6790\uff09<\/h3>\n<p>\u8fd9\u91cc\u5148\u4ecb\u7ecd\u201c\u5185\u6838\u4ee3\u7801\u8def\u5f84\u5206\u6790\u201d\u8fd9\u4e2a\u65b9\u5f0f\u6765\u8bca\u65ad\u6839\u56e0\u3002\u5bf9\u4e8e\u6570\u636e\u4e00\u81f4\u6027\u8981\u6c42\u6bd4\u8f83\u9ad8\u7684\u5e94\u7528\u7a0b\u5e8f\uff0cseconds_behind_master\u662f\u4e00\u4e2a\u5341\u5206\u91cd\u8981\u7684\u6307\u6807\uff0c\u5982\u679c\u5176\u503c\u8fc7\u5927\u5c31\u9700\u8981\u8bca\u65ad\u5176\u6839\u56e0\uff0c\u9632\u6b62\u5e94\u7528\u7a0b\u5e8f\u8bfb\u53d6\u5230\u4e0d\u4e00\u81f4\u7684\u6570\u636e\u3002\u6839\u636e\u4e13\u5bb6\u7ecf\u9a8c\uff0c\u5176\u503c\u8fc7\u5927\u53ef\u80fd\u7531\u201cQPS\u7a81\u589e\u201d\u3001\u201c\u5927\u4e8b\u52a1\u201d\u3001\u201c\u5927\u8868DDL\u201d\u3001\u201c\u9501\u963b\u585e\u201d\u3001\u201c\u8868\u7f3a\u5c11\u4e3b\u952e\u6216\u8005\u552f\u4e00\u5065\u201d\u3001\u201c\u4f4e\u6548\u6267\u884c\u8ba1\u5212\u201d\u3001\u201c\u786c\u4ef6\u8d44\u6e90\u4e0d\u8db3\u201d\u7b49\u56e0\u6570\u9020\u6210\uff0c\u628a\u8fd9\u4e9b\u4e13\u5bb6\u7ecf\u9a8c\u603b\u7ed3\u6210\u89c4\u5219\u5217\u8868\uff0c\u5f53\u5f02\u5e38\u4ea7\u751f\u65f6\u9010\u4e2a\u8fed\u4ee3\u53bb\u9a8c\u8bc1\u662f\u4e0d\u662f\u7b26\u5408\u67d0\u4e2a\u89c4\u5219\uff0c\u636e\u6b64\u6765\u8bca\u65ad\u6839\u56e0\uff0c\u7136\u800c\u6b64\u65b9\u5f0f\u5b58\u5728\u5982\u4e0b\u4e24\u5927\u95ee\u9898\uff1a<\/p>\n<ol>\n<li><strong>\u65e0\u6cd5\u679a\u4e3e\u6240\u6709\u6839\u56e0<\/strong>\uff1a\u7ecf\u9a8c\u7531\u4e8e\u5176\u56fa\u6709\u7684\u5c40\u9650\u6027\u4e0d\u53ef\u80fd\u8003\u8651\u5230\u6240\u6709\u7684\u6545\u969c\u573a\u666f\uff0c\u5982\u4f55\u5b8c\u6574\u7684\u7ed9\u51fa\u9020\u6210seconds_behind_master\u503c\u5f02\u5e38\u7684\u6240\u6709\u89c4\u5219\u662f\u4e00\u4e2a\u6311\u6218\uff1b\u53e6\u5916\uff0c\u5982\u679c\u9700\u8981\u5bf9\u4e00\u4e2a\u5168\u65b0\u7684\u6307\u6807\u8fdb\u884c\u8bca\u65ad\uff0c\u800c\u5728\u6ca1\u6709\u4efb\u4f55\u7684\u4e13\u5bb6\u7ecf\u9a8c\u60c5\u51b5\u4e0b\uff0c\u5982\u4f55\u80fd\u5feb\u901f\u5730\u6574\u7406\u51fa\u5b8c\u6574\u7684\u89c4\u5219\u5217\u8868\uff1f<\/li>\n<li><strong>\u7f3a\u4e4f\u5bf9\u6839\u56e0\u7684\u6df1\u5c42\u6b21\u7406\u89e3<\/strong>\uff1a\u201cQPS\u7a81\u589e\u201d\u3001\u201c\u5927\u4e8b\u52a1\u201d\u3001\u201c\u5927\u8868DDL\u201d\u3001\u201c\u9501\u963b\u585e\u201d\u3001\u201c\u4f4e\u6548\u6267\u884c\u8ba1\u5212\u201d\u3001\u201c\u786c\u4ef6\u8d44\u6e90\u4e0d\u8db3\u201d\u7b49\u56e0\u7d20\u4f1a\u9020\u6210seconds_behind_master\u6307\u6807\u503c\u7684\u5f02\u5e38\uff0c\u4f46\u662f\u4e3a\u4ec0\u4e48\u8fd9\u4e9b\u56e0\u6570\u4f1a\u9020\u6210\u6307\u6807\u503c\u7684\u5f02\u5e38\u5462\uff1f\u5982\u679c\u4e0d\u4ece\u5185\u6838\u6e90\u7801\u89d2\u5ea6\u6765\u4e86\u89e3\u8fd9\u4e9b\u56e0\u7d20\u8ddfseconds_behind_master\u4e4b\u95f4\u7684\u903b\u8f91\u8ba1\u7b97\u5173\u7cfb\uff0c\u90a3\u4e48\u662f\u65e0\u6cd5\u4e86\u89e3\u771f\u6b63\u539f\u56e0\u7684\u3002<\/li>\n<\/ol>\n<h4>4.1.1 \u5185\u6838\u4ee3\u7801\u8def\u5f84\u5206\u6790<\/h4>\n<p>\u9488\u5bf9\u4e0a\u9762\u4e24\u4e2a\u95ee\u9898\uff0c\u5177\u4f53\u7b56\u7565\u662f\u76f4\u63a5\u770bseconds_behind_master\u8fd9\u4e2a\u53d8\u91cf\u5728\u5185\u6838\u5c42\u9762\u662f\u5982\u4f55\u8ba1\u7b97\u7684\uff0c\u53ea\u6709\u8fd9\u6837\u624d\u80fd\u5b8c\u6574\u7684\u679a\u4e3e\u51fa\u6240\u6709\u5f71\u54cdseconds_behind_master\u503c\u8ba1\u7b97\u7684\u56e0\u6570\u3002<\/p>\n<p>\u4ece<a href=\"https:\/\/link.segmentfault.com\/?enc=Mi%2BcNu5h%2B2yTllawfIDpLQ%3D%3D.akXoGQLA1Lf9aeTpk8iIhdU5npGWR6Wjkkgq6%2Fy46fwTAoV93bg2iKv3n5YRXcs6Xy%2FgRtHDlXPJ8TlheOH4iN%2B40evgDF7qdL7WmJWgMATUv1WEg42LX8XtuE8hwgqZ\" rel=\"nofollow\">\u6e90\u7801\u89d2\u5ea6<\/a>\u770b\uff0cseconds_behind_master\u7684\u503c\u7531\u2460time(0)\u3001\u2461mi-&gt;rli-&gt;last_master_timestamp\u548c\u2462mi-&gt;clock_diff_with_master\u8fd9\u4e09\u4e2a\u53d8\u91cf\u6765\u51b3\u5b9a\uff08\u4ee3\u7801\u5c42\u9762seconds_behind_master\u7684\u8ba1\u7b97\u903b\u8f91\u662f\uff1aseconds_behind_master=((long)(time(0) &#8211; mi-&gt;rli-&gt;last_master_timestamp)- mi-&gt;clock_diff_with_master\uff09\uff0c\u5176\u4e2dtime(0)\u662f\u7cfb\u7edf\u5f53\u524d\u65f6\u95f4\uff08\u7528\u79d2\u8868\u793a\uff09\uff0cclock_diff_with_master\u8fd9\u4e2a\u503c\u7684\u8ba1\u7b97\u5f88\u590d\u6742\u3001\u53c8\u5f88\u5173\u952e\uff0c\u4f1a\u653e\u5230\u4e0b\u4e00\u8282\u8be6\u7ec6\u8fdb\u884c\u8bf4\u660e\u3002<\/p>\n<p>\u800c\u9488\u5bf9<a href=\"https:\/\/link.segmentfault.com\/?enc=q0QmZB%2FHGUEv8nSQph%2Ftgg%3D%3D.dtO7Gezrx%2BWrNbrDKKA2T%2B7ptbNxc26K%2BdyGuB6LnLAmlMdEI3AzwzD%2F3ATbKyj58wM%2BxvHOmEkAAy5WcnxAN3qmQdxpi4cevVV8O2Z6I504KiQEnA0Y7avXetFlLJ%2FY\" rel=\"nofollow\">mi-&gt;clock_diff_with_master<\/a>\u7684\u8ba1\u7b97\uff0c\u8fd9\u4e2a\u53d8\u91cf\u4ece\u6e90\u7801\u5c42\u9762\u770b\u5c31\u662f\u4e3b\u3001\u4ece\u5b9e\u4f8b\u4e4b\u95f4\u7684\u65f6\u95f4\u5dee\uff1b\u6839\u636e\u5f53\u524d\u7684\u4fe1\u606f\u5c31\u53ef\u4ee5\u770b\u51fa\u6765\uff0c\u4ece\u5e93\u7684\u5f53\u524d\u65f6\u95f4\u4ee5\u53ca\u4e3b\u4ece\u5e93\u4e4b\u95f4\u7684\u65f6\u95f4\u5dee\u90fd\u4f1a\u5f71\u54cdseconds_behind_master\u503c\u7684\u8ba1\u7b97\u3002seconds_behind_master\u7684\u8ba1\u7b97\u548c\u4e8b\u52a1\u5728\u4e3b\u4ece\u5e93\u6267\u884c\u7684\u60c5\u51b5\u5982\u4e0b\uff1a<\/p>\n<p><img decoding=\"async\" referrerpolicy=\"no-referrer\" src=\"https:\/\/segmentfault.com\/img\/remote\/1460000043982451\" alt=\"\" title=\"\" loading=\"lazy\"><\/p>\n<p><strong>last_master_timestamp\u8ba1\u7b97\u903b\u8f91<\/strong><\/p>\n<p>\u4ece\u4e0a\u9762\u5206\u6790\u53ef\u4ee5\u77e5\u9053\uff0clast_master_timestamp\u503c\u662f\u5f71\u54cdseconds_behind_master\u503c\u8ba1\u7b97\u7684\u5173\u952e\u53d8\u91cf\uff0c\u6240\u4ee5\u5f88\u6709\u5fc5\u8981\u4ece\u6e90\u7801\u89d2\u5ea6\u5206\u6790\u5f71\u54cdlast_master_timestamp\u503c\u7684\u56e0\u6570\u6709\u54ea\u4e9b\uff08\u4ece\u800c\u95f4\u63a5\u83b7\u53d6\u4e86\u5f71\u54cdseconds_behind_master\u503c\u7684\u56e0\u7d20\uff09\u3002<\/p>\n<p>last_master_timestamp\u7684\u503c\u6765\u81ea\u4e8e\u4e00\u4e2a\u53ebrli-&gt;gaq-&gt;head_queue()\u7684\u6210\u5458\u53d8\u91cf<a href=\"https:\/\/link.segmentfault.com\/?enc=g9dKrvgz1WiJAy028E1TEg%3D%3D.OUkM7W2sitl25iXvYusWZfNdnCjU5MT%2B4EieJP%2F48igzi9uCJHnyvnaCiCX%2BEJR%2Bo036iAH%2FHjxap%2FVe%2Fa9VbEHTWADDFnV02BzBco1ctllc%2Bb5uqkx6LvrrptJgSDWE\" rel=\"nofollow\">new_ts<\/a>\uff08\u6b64\u5904\u7684rli-&gt;gaq-&gt;head_queue()\u662f\u6307\u4ee3\u67d0\u4e2a\u6700\u65b0\u7684\u5df2\u7ecf\u5b8c\u6210replay\u7684\u4e8b\u52a1\u5bf9\u5e94\u7684event group\uff0cevent group\u662f\u6307\u4e00\u4e2a\u4e8b\u52a1\u5728binlog\u6587\u4ef6\u91cc\u751f\u6210\u4e00\u7ec4event\u6765\u8868\u793a\u67d0\u4e2a\u4e8b\u52a1\uff0c\u8fd9\u4e2aevent group\u91cc\u7684event\u4ece\u4e3b\u5e93\u4f20\u8f93\u5230\u4ece\u5e93\u540e\u8fdb\u884creplay\u64cd\u4f5c\u6765\u8fd8\u539f\u4e3b\u5e93\u7684\u4e8b\u52a1\uff09\u3002new_ts\u503c\u6765\u6e90\u4e8erli-&gt;gaq-&gt;head_queue())-&gt;ts\uff0c\u800crli-&gt;gaq-&gt;head_queue())-&gt;ts\u7684\u503c\u662f\u901a\u8fc7ptr_group-&gt;ts= common_header-&gt;when.tv_sec + (time_t) exec_time\u8ba1\u7b97\u83b7\u53d6\u7684\u3002<\/p>\n<p>\u518d\u770b\u4e00\u4e0bwhen.tv_sec\u8ddfexec_time\u7684\u542b\u4e49\uff0c\u524d\u8005\u6307\u4ee3SQL\u5728\u4e3b\u5e93\u4e0a\u7684SQL\u6267\u884c\u7684\u5f00\u59cb\u65f6\u95f4\uff0c\u540e\u8005\u6307\u4ee3SQL\u5728\u4e3b\u5e93\u4e0a\u7684\u201c\u6267\u884c\u65f6\u957f\u201d\uff0c\u201c\u6267\u884c\u65f6\u957f\u201d\u53c8\u8ddf\u201c\u9501\u963b\u585e\u201d\u3001\u201c\u4f4e\u6548\u6267\u884c\u8ba1\u5212\u201d\u3001\u201c\u786c\u4ef6\u8d44\u6e90\u4e0d\u8db3\u201d\u7b49\u56e0\u7d20\u606f\u606f\u76f8\u5173\u3002<\/p>\n<p>\u503c\u5f97\u6ce8\u610f\u7684\u662f\uff0c\u524d\u9762\u63d0\u5230\u7684rli-&gt;gaq-&gt;head_queue())-&gt;ts\u7684\u8ba1\u7b97\u8ddfslave_checkpoint_period\u4ee5\u53ca<a href=\"https:\/\/link.segmentfault.com\/?enc=Rqc9mmisoWJt50VuuMy4OQ%3D%3D.D6fLVfdDV0KrfVAquE%2Bgr7g%2FNzKsMNFUvpGzAIY1HMYCiWXrN3qHJY2UHiwYUnFzp91V5%2Fac3mdPChNm7UuLFT8BQ3oVElNvmqlw0eQreJNhjzUiJQIopF1A5klild14\" rel=\"nofollow\">sql_delay<\/a>\u4e24\u4e2a\u53d8\u91cf\u4e5f\u6709\u5173\u7cfb\uff0c\u6309\u7167\u8fd9\u4e2a\u601d\u8def\u5c42\u5c42\u8fed\u4ee3\u4e0b\u53bb\u627e\u51fa\u6240\u6709\u5f71\u54cdseconds_behind_master\u503c\u7684\u56e0\u7d20\uff0c\u8fd9\u4e9b\u56e0\u7d20\u90fd\u662f\u6f5c\u5728\u7684\u4e3b\u4ece\u5ef6\u8fdf\u5f02\u5e38\u7684\u6839\u6e90\uff0c\u8fd9\u6837\u4e5f\u89e3\u51b3\u4e86\u524d\u9762\u8bf4\u7684\u201c\u65e0\u6cd5\u679a\u4e3e\u6240\u6709\u6839\u56e0\u201d\u8ddf\u201c\u7f3a\u4e4f\u5bf9\u6839\u56e0\u7684\u6df1\u5c42\u6b21\u7406\u89e3\u201d\u4e24\u5927\u95ee\u9898\u3002<\/p>\n<p>\u4e3a\u4e86\u4fbf\u4e8e\u7406\u89e3\u4e0a\u8bc9\u7684\u903b\u8f91\uff0c\u653e\u51fa\u5173\u952e\u7684\u6e90\u4ee3\u7801\uff1a\u83b7\u53d6last_master_timestamp\u503c\u7684\u6765\u6e90rli-&gt;gaq-&gt;head_queue()\u7684\u6210\u5458\u53d8\u91cf<a href=\"https:\/\/link.segmentfault.com\/?enc=oKkvz7CNxD%2FciBlZGzRfqg%3D%3D.gGOqNp6xoaF3%2F6gqFddtV3dkFSSRuzIjsOLMkkERdLTIpDsGRQZSqqqyzJFcwNOIOB3g3DI%2FxwA3Rm0CplOAkGYS%2BXH9dszzO%2BFkWzyqcW7SEDRQhWgADe7KkGjZaIon\" rel=\"nofollow\">new_ts<\/a>\u3002<\/p>\n<pre><code>bool mts_checkpoint_routine(Relay_log_info *rli, ulonglong period,\n                            bool force, bool need_data_lock)\n{\n do\n  { \n    cnt= rli-&gt;gaq-&gt;move_queue_head(&amp;rli-&gt;workers);\n  } \n .......................\n  ts= rli-&gt;gaq-&gt;empty()\n    ? 0\n    : reinterpret_cast&lt;Slave_job_group*&gt;(rli-&gt;gaq-&gt;head_queue())-&gt;ts; \/\/\u5176\u4e2d\u7684ts\u6765\u81ea\u4e0b\u9762\u7684get_slave_worker\u51fd\u6570\uff1b\n  rli-&gt;reset_notified_checkpoint(cnt, ts, need_data_lock, true);\n  \/\/  \u793e\u533a\u7248\u672c\u7684\u4ee3\u7801 rli-&gt;reset_notified_checkpoint(cnt, rli-&gt;gaq-&gt;lwm.ts, need_data_lock);\n  \/* end-of &quot;Coordinator::&quot;commit_positions&quot; *\/\n ......................\n}<\/code><\/pre>\n<p>\u83b7\u53d6Master\u5b9e\u4f8b\u4e0a\u6267\u884c\u7684SQL\u7684\u5f00\u59cb\u8ddf\u6267\u884c\u65f6\u957f\u4fe1\u606ftv_sec\u8ddfexec_time\u3002<\/p>\n<pre><code>Slave_worker *Log_event::get_slave_worker(Relay_log_info *rli)\n{\nif (ends_group() || (!rli-&gt;curr_group_seen_begin &amp;&amp; (get_type_code() == binary_log::QUERY_EVENT || !rli-&gt;curr_group_seen_gtid)))\n  {\n  ..............\n    ptr_group-&gt;checkpoint_seqno= rli-&gt;checkpoint_seqno;\n    ptr_group-&gt;ts= common_header-&gt;when.tv_sec + (time_t) exec_time; \/\/ Seconds_behind_master related\n    rli-&gt;checkpoint_seqno++;\n  }\n} <\/code><\/pre>\n<p><strong>\u6839\u56e0\u5c42\u53e0\u56fe<\/strong><\/p>\n<p>\u5982\u679c\u8fdb\u4e00\u6b65\u5206\u6790\u5185\u6838\u4ee3\u7801\uff0c\u53ef\u4ee5\u53d1\u73b0\u5f71\u54cdseconds_behind_master\u53d8\u91cf\u8ba1\u7b97\u7684\u56e0\u7d20\u8fd8\u6709\u5f88\u591a\uff0c\u4f46\u662f\u627e\u51fa\u8fd9\u4e9b\u56e0\u7d20\u7684\u601d\u8def\u662f\u76f8\u540c\u7684\u3002\u8fd9\u4e2a\u601d\u8def\u7684\u597d\u5904\u662f\uff1a\u65e0\u8bba\u4e4b\u524d\u6709\u6ca1\u6709\u76f8\u5173\u4e13\u5bb6\u7ecf\u9a8c\uff0c\u7406\u8bba\u4e0a\u8fd9\u79cd\u5206\u6790\u65b9\u5f0f\u90fd\u80fd\u5c3d\u53ef\u80fd\u5730\u679a\u4e3e\u51fa\u6240\u6709\u7684\u6839\u56e0\u3002<\/p>\n<p>\u9664\u4e86seconds_behind_master\uff0c\u5176\u4ed6\u7684\u50cfthread_running\u3001Threads_connected\uff0cslow_queries\u7b49\u6307\u6807\u5f02\u5e38\u7684\u5206\u6790\u4e5f\u90fd\u53ef\u4ee5\u5957\u7528\u8fd9\u79cd\u601d\u8def\u3002\u4e0b\u9762\u4e3a\u6309\u7167\u4e0a\u8ff0\u601d\u8def\u6574\u7406\u51fa\u6765\u7684\u5f71\u54cdseconds_behind_master\u503c\u7684\u90e8\u5206\u56e0\u7d20\u7684\u5c42\u6b21\u7ed3\u6784\u56fe\uff1a<\/p>\n<p><img decoding=\"async\" referrerpolicy=\"no-referrer\" src=\"https:\/\/segmentfault.com\/img\/remote\/1460000043982452\" alt=\"\" title=\"\" loading=\"lazy\"><\/p>\n<h4>4.1.2 \u6d41\u7a0b\u5206\u6790<\/h4>\n<p>\u628a\u5f71\u54cdseconds_behind_master\u503c\u7684\u76f8\u5173\u56e0\u7d20\u786e\u8ba4\u540e\uff0c\u53ef\u4ee5\u753b\u4e00\u4e2a\u6d41\u7a0b\u56fe\u628a\u8fd9\u4e9b\u56e0\u7d20\u90fd\u4f53\u73b0\u5728\u6d41\u7a0b\u56fe\u4e2d\u7684\u5177\u4f53\u4f4d\u7f6e\u3002\u8fd9\u6837\u65e2\u80fd\u6bd4\u8f83\u5f62\u8c61\u5730\u7406\u89e3\u5f71\u54cdseconds_behind_master\u7684\u56e0\u7d20\u5728\u6574\u4e2a\u4e3b\u4ece\u590d\u5236\u6d41\u7a0b\u4e2d\u7684\u6240\u5904\u7684\u4f4d\u7f6e\uff0c\u53c8\u4fbf\u4e8e\u5bf9\u6574\u4f53\u89c4\u5219\u8fdb\u884c\u67e5\u6f0f\u8865\u7f3a\u3002<\/p>\n<p>\u4e0b\u9762\u6211\u4eec\u4f7f\u7528\u4e00\u4e2a\u5177\u4f53\u7684\u4f8b\u5b50\uff0c\u6765\u8bf4\u660e\u4e00\u4e0b\u4e0a\u9762\u5206\u6790\u7684\u56e0\u7d20\u662f\u5982\u4f55\u5f71\u54cdseconds_behind_master\u7684\u3002\u4ece\u4e0b\u56fe\u53ef\u4ee5\u770b\u51fa\u5728\u6267\u884cSQL\u7684\u8fc7\u7a0b\u4e2d\u5f71\u54cdseconds_behind_master\u8ba1\u7b97\u7684\u4e24\u4e2a\u53d8\u91cfthd-&gt;start_time\u8ddfexec_time\u7684\u8ba1\u7b97\u5728master\u5b9e\u4f8b\u3002\u5047\u8bbestart_time\u7684\u503c\u4e3a2023-07-03 00:00:00\uff0cSQL\u6267\u884c\u4e8660\u79d2\uff0c\u6240\u4ee5exec_time\u4e3a60\uff0c2023-07-03 00:01:00\uff0cSQL\u5728\u4e3b\u5e93\u4e0a\u6267\u884c\u5b8c\u6bd5\uff0c\u5728\u4ece\u5e93\u4e0areplay\u8fd9\u4e2aSQL\uff0c\u53ef\u4ee5\u770b\u5230seconds_behind_master\u503c\u4f1a\u4ece0\u5f00\u59cb\u5e76\u4e14\u9010\u6e10\u589e\u52a060\u79d2\uff0c\u7136\u540e\u518d\u8fd4\u56de0\u3002<\/p>\n<p><img decoding=\"async\" referrerpolicy=\"no-referrer\" src=\"https:\/\/segmentfault.com\/img\/remote\/1460000043982453\" alt=\"\" title=\"\" loading=\"lazy\"><\/p>\n<p>\u5177\u4f53\u539f\u56e0\u662f\uff1a\u5047\u8bbe\u6211\u4eec\u5ffd\u7565binlog\u65e5\u5fd7\u7684\u4f20\u8f93\u65f6\u95f4\uff0c\u90a3\u4e48\u4ece\u5e93\u5f00\u59cb\u6267\u884creplay\u8fd9\u4e2aSQL\u7684\u5f00\u59cb\u65f6\u95f4\u4e5f\u662f2023-07-03 00:01:00\uff0c\u6240\u4ee5\u6839\u636eseconds_behind_master=((long)(time(0) &#8211; mi-&gt;rli-&gt;last_master_timestamp)- mi-&gt;clock_diff_with_master\uff09=2023-07-03 00:01:00 &#8211; 2023-07-03 00:00:00-60s\uff0c\u7ed3\u679c\u5c31\u662f0\uff0c\u7136\u540eSQL\u7684\u6267\u884c\u65f6\u95f4\u662f60\u79d2\uff0c\u5e76\u4e14(long)(time(0)\uff08\u5f53\u524d\u65f6\u95f4\uff09\u7684\u65f6\u95f4\u4e00\u79d2\u4e00\u79d2\u7684\u5728\u589e\u52a0\uff0c\u6240\u4ee5seconds_behind_master\u503c\u4f1a\u4ece0\u5f00\u59cb\u9010\u6e10\u589e\u52a0\u81f360\u79d2\u3002<\/p>\n<p>\u518d\u770b\u4e00\u4e0b\u5176\u4ed6\u7684\u56e0\u6570\uff0c\u534f\u8c03\u5668\uff08Coordinator\uff09\u4f1a\u628aGroup\u653e\u5165\u4e00\u4e2a\u53eb\u505aGAP Group\u7684\u961f\u5217\u4e2d\uff0cCoordinator\u4f1a\u4ee5slave_checkpoint_period\u503c\u4e3a\u5468\u671f\u6765\u626b\u63cfGAP Group\u4e2d\u7684\u5143\u7d20\u5e76\u4e14\u66f4\u65b0rli-&gt;gaq-&gt;head_queue())-&gt;ts\u503c\uff0c\u6240\u4ee5\u679cslave_checkpoint_period\u7684\u503c\u88ab\u8bbe\u7f6e\u7684\u5f88\u5927\uff0c\u90a3\u4e48rli-&gt;gaq-&gt;head_queue())-&gt;ts\u7684\u503c\u56e0\u4e3a\u6ca1\u6709\u53ca\u65f6\u66f4\u65b0\u800c\u53d8\u5f97\u6bd4\u8f83\u65e7\uff0c\u4ece\u800c\u5f15\u8d77seconds_behind_master\u503c\u53d8\u5927\u3002<\/p>\n<p>\u53e6\u5916\uff0c\u6bcf\u4e2aWorker\u8bfb\u53d6\u81ea\u5df1\u961f\u5217\u7684Group\u5143\u7d20\uff0c\u8fdb\u884crepaly\u64cd\u4f5c\uff0c\u9700\u8981\u6ce8\u610f\u7684\u662fsql_delay\u8fd9\u4e2a\u53d8\u91cf\uff0c\u5982\u679c\u5f53\u524d\u65f6\u95f4\u8fd8\u6ca1\u6709\u8fbe\u5230sql_delay\u89c4\u5b9a\u7684\u65f6\u95f4\uff08\u5047\u8bbesql_delay\u88ab\u8bbe\u7f6e\u4e3a100\u79d2\uff0c\u90a3\u4e48SQL\u5bf9\u5e94\u7684binlog\u65e5\u5fd7\u5230\u8fbe\u4ece\u5e93\u540e\u9700\u8981\u7b49\u5f85100\u79d2\u518d\u6267\u884c\uff09\uff0c\u90a3\u4e48worker\u5c31\u4e0d\u4f1a\u8fdb\u884crepaly\u5de5\u4f5c\uff0c\u8fd9\u95f4\u63a5\u5bfc\u81f4\u5f71\u54cd\u8ba1\u7b97seconds_behind_master\u53d8\u91cfthd-&gt;start_time\u503c\u6bd4\u6b63\u5e38\u60c5\u51b5\u4e0b\u5c0f\u4e86100\u79d2\uff0c\u6240\u4ee5\u5f53worker\u8fdb\u884creplay\u7684\u65f6\u5019\uff0cseconds_behind_master\u7684\u503c\u5c31\u4f1a\u76f8\u5e94\u7684\u589e\u52a0100\u79d2\u3002<\/p>\n<h4>4.1.3 \u4ea7\u54c1\u5c55\u793a<\/h4>\n<p>\u4e0b\u9762\u7684\u4ea7\u54c1\u5c55\u793a\u4e86\u56e0\u4e3a\u6d41\u91cf\u7a81\u589e\u8ddfMDL\u9501\u9020\u6210\u7684\u4e3b\u4ece\u5ef6\u8fdf\u7684\u8bca\u65ad\u5206\u6790\u62a5\u544a\u7684\u4ea7\u54c1\u9875\u9762\u3002\u6211\u4eec\u53ef\u4ee5\u770b\u5230\uff0c\u6d41\u91cf\u7a81\u589e\u7684\u5177\u4f53SQL\u4ee5\u53caMDL\u9501\u7684\u6301\u6709\u8005\uff0c\u65b9\u4fbf\u7528\u6237\u8fdb\u884c\u9650\u6d41\u6216\u8005Kill\u6389\u963b\u585e\u8005SQL\u3002<\/p>\n<p><img decoding=\"async\" referrerpolicy=\"no-referrer\" src=\"https:\/\/segmentfault.com\/img\/remote\/1460000043982454\" alt=\"\" title=\"\" loading=\"lazy\"><\/p>\n<h3>4.2 \u5927\u4e8b\u52a1\u8bca\u65ad\u5206\u6790\uff08\u5185\u6838\u529f\u80fd\u589e\u5f3a\uff09<\/h3>\n<p>\u5927\u4e8b\u52a1\u7684\u5b58\u5728\uff0c\u5bf9\u6574\u4e2a\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u7a33\u5b9a\u6027\u4e0e\u603b\u4f53SQL\u7684\u6027\u80fd\u90fd\u4f1a\u4ea7\u751f\u5f88\u5927\u7684\u6311\u6218\uff0c\u5982\u5927\u4e8b\u52a1\u957f\u65f6\u95f4\u6301\u6709\u67d0\u4e2a\u9501\u4f1a\u9020\u6210\u5927\u9762\u79ef\u963b\u585e\uff0c\u6216\u8005\u66f4\u6539\u8fc7\u591a\u7684\u884c\u6570\u9020\u6210\u6574\u4e2a\u5b9e\u4f8b\u786c\u4ef6\u8d44\u6e90\u7684\u4e0d\u8db3\u3002\u6211\u4eec\u9700\u8981\u53ca\u65f6\u53d1\u73b0\u8fd9\u4e9b\u573a\u666f\uff0c\u5e76\u4e14\u5c06\u5176\u4fe1\u606f\u53d1\u9001\u7ed9\u7528\u6237\u6cbb\u7406\uff0c\u4f46\u5728\u5b9e\u8df5\u8fc7\u7a0b\u4e2d\uff0c\u5f80\u5f80\u9762\u4e34\u5982\u4e0b\u7684\u4e24\u5927\u6311\u6218\uff1a<\/p>\n<p><strong>\u7b2c\u4e00\u4e2a\u6311\u6218<\/strong>\uff1a\u65e0\u6cd5\u5f97\u5230\u5927\u4e8b\u52a1\u6240\u5305\u542b\u7684\u5b8c\u6574\u7684SQL\u5217\u8868\uff0c\u9020\u6210\u7528\u6237\u4e0d\u6e05\u695a\u5927\u4e8b\u52a1\u7684\u5168\u8c8c\u662f\u4ec0\u4e48\uff0c\u7528\u6237\u4e5f\u5c31\u65e0\u6cd5\u8bc6\u522b\u9700\u8981\u4f18\u5316\u7684\u5927\u4e8b\u52a1\u3002<\/p>\n<ul>\n<li><strong>\u89e3\u51b3\u65b9\u6848<\/strong>\uff1a\u6bcf\u4e2a\u4e8b\u52a1\u6765MySQL\u4f1a\u5728\u5185\u6838\u5c42\u9762\u751f\u6210\u4e00\u4e2a\u552f\u4e00\u7684\u4e8b\u52a1ID\uff1atrx_id\uff0c\u5982\u679c\u4e8b\u52a1\u5305\u542b\u7684\u6bcf\u6761SQL\uff0c\u90fd\u7ed9\u5176\u9644\u52a0\u4e00\u4e2a\u4e8b\u52a1ID trx_id\u5b57\u6bb5\uff0c\u5e76\u4e14\u628a\u8fd9\u4e9bSQL\u8fde\u540ctrx_id\u4e00\u8d77\u8f93\u51fa\uff08\u901a\u8fc7\u5168\u91cfSQL\u8f93\u51fa\uff09\uff0c\u95ee\u9898\u5c31\u53ef\u4ee5\u89e3\u51b3\uff1b\u4e0d\u8fc7\u8fd9\u91cc\u8fd8\u6709\u4e00\u4e2a\u6311\u6218\uff0c\u8fd9\u4e2a\u4e8b\u52a1ID\u5230\u5e95\u662f\u4f55\u65f6\u4ea7\u751f\u7684\u5462\uff1f\u5982\u4f55\u5927\u5bb6\u719f\u6089\u5185\u6838\u5185\u90e8\u4e8b\u52a1\u7684\u6267\u884c\u8fc7\u7a0b\uff0c\u5c31\u4f1a\u77e5\u9053\u4e8b\u52a1ID\u7684\u53ea\u6709\u5728\u4e8b\u52a1\u4fee\u6539\u6570\u636e\u7684\u65f6\u5019\u624d\u4f1a\u901a\u8fc7<a href=\"https:\/\/link.segmentfault.com\/?enc=uBMcA3T1hvUJx3CxL%2FkAGA%3D%3D.408v9ZuKYnnAkc4i7jh%2Fa%2BFuI377tZo3%2BvHlI7rWwNNMSCydAoiEih5yorfLwWM5uQC3PgwFAIjXaxQ0ibl5NVS3mzya4b1pNjk%2FXkrgtBu4pUbli%2Bdj%2BGXOafm7oZRhje%2F7fpaWAlXSFqzUVUmwFg%3D%3D\" rel=\"nofollow\">trx_assign_id_for_rw<\/a>\u8fd9\u4e2a\u65b9\u6cd5\u88ab\u83b7\u53d6\uff0c\u8fd9\u610f\u5473\u7740\u5c31\u4e0b\u9762\u8fd9\u4e2a\u56fe\u4e0a\u5c55\u793a\u7684\u4e8b\u52a1\u800c\u8a00\uff0c\u662f\u65e0\u6cd5\u83b7\u53d6SQL4\u4e4b\u524d\u6267\u884c\u7684\u8bfbSQL\u8bed\u53e5\u5217\u8868\uff0c\u6240\u4ee5\u83b7\u53d6\u5230\u7684\u4e8b\u52a1\u7684SQL\u5217\u8868\u8fd8\u662f\u6b8b\u7f3a\u7684\uff0c\u90a3\u4e48\u5982\u4f55\u83b7\u53d6\u5230\u5b8c\u6574\u7684SQL\u5217\u8868\u5462\uff1f\u89e3\u51b3\u65b9\u6848\u4e5f\u5f88\u7b80\u5355\uff0c\u53ef\u4ee5\u628a\u4e8b\u52a1ID\u7684\u751f\u6210\u903b\u8f91\u63d0\u524d\u5230\u5728\u4e8b\u52a1\u521a\u5f00\u59cb\u6267\u884c\u7684\u65f6\u5019\u751f\u6210\u5c31\u53ef\u4ee5\u4e86\u3002<\/li>\n<\/ul>\n<p><strong>\u7b2c\u4e8c\u4e2a\u6311\u6218<\/strong>\uff1a\u5927\u4e8b\u52a1\u7684\u8017\u65f6\u7ec4\u6210\u4e0d\u660e\u786e\u3002\u6570\u636e\u5e93\u89c4\u5b9a\u6267\u884c\u65f6\u957f\u5927\u4e8e\u67d0\u4e2a\u9600\u503c\u7684\u4e8b\u52a1\u88ab\u5b9a\u4e49\u4e3a\u5927\u4e8b\u52a1\uff0c\u4f46\u662f\u4e0d\u6e05\u695a\u8017\u65f6\u5230\u5e95\u662fSQL\u672c\u8eab\u7684\u6267\u884c\u65f6\u95f4\u8fd8\u662fSQL\u6267\u884c\u4e4b\u5916\u7684\u8017\u65f6\uff0cSQL\u6267\u884c\u4e4b\u5916\u7684\u8017\u65f6\u53ef\u80fd\u662f\u5728\u6267\u884c\u4e0a\u4e0b\u4e24\u4e2aSQL\u4e4b\u95f4\uff0c\u4e1a\u52a1\u7aef\u5728\u5904\u7406\u4e00\u4e9b\u8ddf\u6570\u636e\u5e93\u65e0\u5173\u7684\u4e1a\u52a1\u903b\u8f91\uff0c\u4e5f\u53ef\u80fd\u662f\u7f51\u7edc\u5ef6\u8fdf\u9020\u6210\u7684\u3002<\/p>\n<ul>\n<li><strong>\u89e3\u51b3\u65b9\u6848<\/strong>\uff1a\u4e0a\u8ff0\u95ee\u9898\u53ef\u4ee5\u901a\u8fc7\u5728\u6570\u636e\u5e93\u5185\u6838\u5185\u5bf9SQL\u6267\u884c\u5f00\u59cb\u65f6\u3001\u7ed3\u675f\u65f6\u5206\u522b\u57cb\u70b9\u65f6\u95f4\u6233\u6765\u89e3\u51b3\uff0c\u8fd9\u6837\u6574\u4e2a\u5927\u4e8b\u52a1\u6267\u884c\u603b\u65f6\u95f4\u4e2d\u6709\u591a\u5c11\u65f6\u95f4\u662f\u5728\u6267\u884cSQL\uff0c\u6709\u591a\u5c11\u65f6\u95f4\u662f\u5728Sleep\u5c31\u4e00\u76ee\u4e86\u7136\uff1b\u5f53\u7136\uff0c\u8fd9\u4e00\u5757\u8fd8\u53ef\u4ee5\u505a\u7684\u66f4\u52a0\u7684\u7ec6\u81f4\uff0c\u6bd4\u5982\u4e24\u6761SQL\u4e4b\u95f4\u7684Sleep\u65f6\u95f4\u5230\u5e95\u662f\u7f51\u7edc\u5ef6\u8fdf\u8fd8\u662f\u5e94\u7528\u7a0b\u5e8f\u7aef\u7684\u5ef6\u8fdf\u7b49\uff0c\u53ef\u4ee5\u8fdb\u4e00\u6b65\u7ec6\u5206\u5927\u4e8b\u52a1\u9020\u6210\u7684\u539f\u56e0\u5230\u5e95\u662f\u5728MySQL\u7aef\u3001\u7f51\u7edc\u7aef\u8fd8\u662f\u7528\u6237\u81ea\u5df1\u7684\u5e94\u7528\u7a0b\u5e8f\u9020\u6210\u7684\u7b49\u5f85\uff1b\u5173\u4e8e\u8ba1\u7b97\u7f51\u7edc\u7aef\u7684\u5ef6\u8fdf\u8ba1\u7b97\uff0c\u53ef\u4ee5\u53c2\u8003MySQL\u5185\u90e8\u7684mysql_socket_send_time\u8ddfvio_socket_io_wait_time\u8fd92\u4e2a\u5173\u952e\u6307\u6807\u7684\u5b9e\u73b0\u601d\u8def\uff0c\u4e0b\u56fe\u662f\u4e00\u4e2a\u5927\u4e8b\u52a1\u7684SQL\u5217\u8868\u4ee5\u53ca\u8017\u65f6\u7ec4\u6210\u5217\u8868\u3002<\/li>\n<\/ul>\n<p><img decoding=\"async\" referrerpolicy=\"no-referrer\" src=\"https:\/\/segmentfault.com\/img\/remote\/1460000043982455\" alt=\"\" title=\"\" loading=\"lazy\"><\/p>\n<h4>4.2.1 \u4ea7\u54c1\u5c55\u793a<\/h4>\n<p>\u5185\u6838\u56e2\u961f\u901a\u8fc7\u5185\u6838\u6539\u9020\uff0c\u5bf9\u4e8b\u52a1\u4e2d\u6240\u5305\u542b\u7684SQL\u90fd\u63d0\u4f9b\u4e86trx_id\u540e\u5c31\u53ef\u4ee5\u6839\u636etrx_id\u628a\u6574\u4e2a\u4e8b\u52a1\u6240\u6709\u7684SQL\u4e32\u8d77\u6765\u3002\u6839\u636eSQL\u6267\u884c\u7684\u5f00\u59cb\u8ddf\u7ed3\u675f\u65f6\u95f4\uff0c\u6211\u4eec\u4e5f\u63d0\u4f9b\u4e86\u6240\u6709SQL\u4e4b\u95f4\u7684Sleep\u65f6\u95f4\uff0c\u6210\u529f\u89e3\u51b3\u4e86\u4e0a\u9762\u7684\u4e24\u4e2a\u6311\u6218\uff0c\u4ea7\u54c1\u6548\u679c\u56fe\u5982\u4e0b\uff1a<\/p>\n<p><img decoding=\"async\" referrerpolicy=\"no-referrer\" src=\"https:\/\/segmentfault.com\/img\/remote\/1460000043982456\" alt=\"\" title=\"\" loading=\"lazy\"><\/p>\n<h3>4.3 MySQL Crash\u5206\u6790\uff08\u5185\u6838Core Dump\u5206\u6790\uff09<\/h3>\n<p>MySQL\u5b9e\u4f8b\u7a81\u7136Crash\u4e86\u600e\u4e48\u8fdb\u884c\u6839\u56e0\u8bca\u65ad\uff1f\u8fdb\u7a0bCrash\u7684\u6839\u56e0\u5206\u6790\uff0c\u4e5f\u662f\u6570\u636e\u5e93\u6545\u969c\u4e2d\u6700\u96be\u5206\u6790\u7684\u95ee\u9898\u4e4b\u4e00\u3002\u672c\u8282\u63d0\u4f9b\u4e00\u4e9b\u601d\u8def\u5c1d\u8bd5\u53bb\u5206\u6790\u5404\u79cd\u573a\u666f\u4e0b\u7684MySQL Crash\u7684\u6839\u56e0\u3002<\/p>\n<h4>4.3.1 Crash\u7684\u89e6\u53d1\u65b9\u5f0f<\/h4>\n<p>\u5728\u5206\u6790Crash\u7684\u6839\u56e0\u4e4b\u524d\uff0c\u6211\u4eec\u53ef\u4ee5\u5148\u4e86\u89e3\u4e00\u4e0bMySQL\u8fdb\u7a0b\u662f\u5982\u4f55\u88abCrash\u7684\u6574\u4e2a\u8fc7\u7a0b\u5341\u5206\u6709\u5fc5\u8981\u3002\u4e00\u822c\u6765\u8bf4\uff0c\u89e6\u53d1Crash\u7684\u539f\u56e0\u5206\u6210\u4e24\u7c7b\uff1a\u2460MySQL\u8fdb\u7a0b\u81ea\u5df1\u89e6\u53d1\u4e86Crash\uff08\u8fd9\u91cc\u79f0\u4e4b\u4e3aMySQL\u81ea\u6740\uff09\uff1b\u2461MySQL\u8fdb\u7a0b\u88abOS\u6740\u6b7b\u3002<\/p>\n<p>\u9488\u5bf9\u524d\u8005\uff0c\u6bd4\u5982MySQL\u53d1\u73b0\u67d0\u4e2a\u5173\u952e\u6570\u636e\u53d1\u751f\u4e86Data Corruption\u3001\u78c1\u76d8\u7a7a\u95f4\u4e0d\u8db3\u3001\u786c\u4ef6\u9519\u8bef\u3001\u7b49\u5f85\u5185\u6838\u9501\u65f6\u95f4\u8fc7\u957f\u3001MySQL \u5185\u6838Bug\u7b49\u573a\u666f\uff0c\u90fd\u53ef\u80fd\u5bfc\u81f4MySQL\u81ea\u6740\u3002\u5c24\u5176\u662f\u68c0\u67e5\u5230MySQL\u5185\u6838\u91cc\u6709\u4e9b\u6570\u636e\u7684\u72b6\u6001\u4e0d\u7b26\u5408\u9884\u671f\u65f6\uff0c\u662f\u5fc5\u8981\u8981\u8ba9\u90a3\u4e2a\u5b9e\u4f8bCrash\u4e5f\u4e0d\u80fd\u7ee7\u7eed\u6267\u884c\uff0c\u5426\u5219\u53ef\u80fd\u4f1a\u4ea7\u751f\u66f4\u52a0\u4e25\u91cd\u7684\u6570\u636e\u4e0d\u4e00\u81f4\u6027\u95ee\u9898\uff1b\u800c\u540e\u8005\uff0cOS\u5982\u679c\u53d1\u73b0\u7cfb\u7edf\u5185\u5b58\u4e25\u91cd\u4e0d\u8db3\u6216\u8005\u7a7a\u6307\u9488\u5f15\u7528\u7b49\u60c5\u51b5\uff0c\u5c31\u4f1a\u628a\u5305\u62ecMySQL\u5728\u5185\u76f8\u5173\u7684\u8fdb\u7a0b\u6740\u6389\u3002<\/p>\n<p>\u5206\u6790\u4e00\u4e0bMySQL\u81ea\u8eab\u89e6\u53d1Crash\u8fd9\u4e2a\u573a\u666f\uff0c\u5728MySQL\u5185\u90e8\u6709\u5f88\u591a\u5730\u65b9\u901a\u8fc7<a href=\"https:\/\/link.segmentfault.com\/?enc=tvzMKpfGWOlnXf6%2FS558%2FQ%3D%3D.YSsMwpdrjIsL99nsR%2BCanl5K1K2L7oEh5pgbKYVUuqPpjiIIAWswPTLdQ%2F%2F5zKd99NU44JpSr1XKvSa6ST9j%2BrO8bOyiaAn5UJhMdNNySqheSh5o6hA3JGPh90Sj3jfT5P%2BR2wXaUH56TFf%2FPf3%2Baw%3D%3D\" rel=\"nofollow\">ut_a<\/a>\uff08\u5982\u679c\u662f<a href=\"https:\/\/link.segmentfault.com\/?enc=Pqdw31mKXYpipDBfUN90Eg%3D%3D.2ctmGcDJWKTz0bzFY2dFM5ove8GLoXK4%2BkzrIrfZ%2FCEVeJpBkAJBKtv3n00UarDY9wfsTNambKq6o2xmW73FN5EPWoyy3lOHPsPGQbbAsloLIB4OqGdM0trvY61KMnJOGL7DVaoDIqiFCCIZ%2BpvPiQ%3D%3D\" rel=\"nofollow\">ut_error<\/a>\u7684\u8bdd\uff0c\u5219\u76f4\u63a5\u89e6\u53d1Crash\u65ad\u8a00\u5bf9\u7a0b\u5e8f\u7684\u5185\u90e8\u6570\u636e\u72b6\u6001\u8fdb\u884c\u5f02\u5e38\u68c0\u67e5\uff0c\u5982\u679c\u53d1\u73b0\u6570\u636e\u72b6\u6001\u4e0d\u7b26\u5408\u9884\u671f\uff0c\u90a3\u4e48\u52bf\u5fc5\u53d1\u751f\u4e86Data Corruption\uff0c\u8fd9\u4e2a\u65f6\u5019\u7a0b\u5e8f\u4f1a\u8c03\u7528<a href=\"https:\/\/link.segmentfault.com\/?enc=3y%2FtcGTL36NC0hrg%2B%2FNFqA%3D%3D.HGM5baMB29ssJy0mHPO192V6dFCJBUw9xNO6SK5tOyIC48fWPC6VO1tLyztwqg5aNhqpmyQJAqpULeO335fLsiKJdPGpdgM10uCjEaU41m3dVQog6xOFWJaFqCOXg2DNO5VyYvxvJT30dZG%2BQZc09w%3D%3D\" rel=\"nofollow\">ut_dbg_assertion_failed<\/a>\u5728\u8fdb\u7a0bCrash\u4e4b\u524d\u505a\u4e00\u4e9b\u5173\u952e\u4fe1\u606f\uff08\u5982thread id\u3001\u53d1\u751fCrash\u7684\u6587\u4ef6\u540d\u5b57\u8ddfcode line\u7b49\uff09\u7684\u8bb0\u5f55\u540e\uff0c\u4f1a\u7ee7\u7eed\u8c03\u7528abort()\u5411\u8fdb\u7a0b\u53d1\u9001SIGABRT\u4fe1\u53f7\u91cf\u8ba9\u8fdb\u7a0bCrash\u6389\u3002<\/p>\n<p>\u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u4eceabort()\u7684\u6e90\u7801\u53ef\u77e5\uff0c\u8fd9\u91cc\u8c03\u7528\u4e86\u4e24\u6b21<a href=\"https:\/\/link.segmentfault.com\/?enc=xa8eIBNguWd4wV82UDogTw%3D%3D.UYXkDFQXPdgGZz0bx1rlwAPRhz8hnGgzgHWbzQptd2uPr6fJKgiRxfhRoDqeNvIwx3T7tEp7V6JPmuSy3%2F%2BJ4Q%3D%3D\" rel=\"nofollow\">raise (SIGABRT)<\/a>\uff0c\u7b2c\u4e00\u6b21\u8c03\u7528<a href=\"https:\/\/link.segmentfault.com\/?enc=mntHxnFQoSd8VaWXISu34w%3D%3D.MAx%2FqdErkvnFEMe2PGFr91rUWSbbSAh38Q%2Bdzc167nWJDSyeO%2F2zsmNs9OURLGjBwaoFFxLW6tZGkoZwJSyTQg%3D%3D\" rel=\"nofollow\">raise (SIGABRT)<\/a>\u89e6\u53d1\u5904\u7406\u51fd\u6570<a href=\"https:\/\/link.segmentfault.com\/?enc=KRsggT5ist0J%2Fp6ZR%2F7bww%3D%3D.CFQ9nS7Z%2Fd%2FnWvhsss45UkQPIaMGlQTAWuTCgNzUAytHbGcbyGYrYeJDQj3VibtbnV0lKnSkcu8oHeFFI8irgKy0ew2yL0j5j3NWjACie7o6GgxSCCssPkeWosUpWV64\" rel=\"nofollow\">handle_fatal_signal<\/a>\uff08\u6b64\u51fd\u6570\u5728MySQL\u5b9e\u4f8b\u521d\u59cb\u5316\u65f6\u901a\u8fc7<a href=\"https:\/\/link.segmentfault.com\/?enc=7nSjiJN55t6WuQDqbxjuXQ%3D%3D.kn6KnpfQt%2FYerkImCN%2BvQG47hgC5D%2BO%2BdmJ3qjMW1q5yjQHf3mo96qQ0ngG%2F51LqG1SWY7IPjbD3P5Ag9ddsGqIK5C1oNHk2hgKcgfYVx1uQrdSRGOjUpFCW2sShIhhQ\" rel=\"nofollow\">sigaction\u7684sa_handler<\/a>\u6ce8\u518c\uff09\u88ab\u8c03\u7528\uff0c\u8fd9\u4e2a\u51fd\u6570\u4e3b\u8981\u662f\u6253\u5370\u4e00\u4e9b\u91cd\u8981\u7684\u8c03\u8bd5\u4fe1\u606f\uff0c\u4fbf\u4e8e\u505aCore Dump\u5206\u6790\uff1b\u7b2c\u4e8c\u6b21\u8c03\u7528raise (SIGABRT)\u7684\u76ee\u7684\uff0c\u662f\u4e3a\u4e86\u8ba9OS\u751f\u6210Core Dump\u6587\u4ef6\uff08core Dump\u6587\u4ef6\u975e\u5e38\u91cd\u8981\uff0c\u56e0\u4e3a\u6240\u6709\u5f15\u8d77MySQL Crash\u7684\u73b0\u573a\u4fe1\u606f\u90fd\u5305\u542b\u5728Core Dump\u91cc\u9762\uff09\uff1b\u5982\u679c\u662f\u5728MySQL\u81ea\u6740\u7684\u60c5\u51b5\u4e0b\u53d1\u751f\u4e86Crash \uff0c\u4e00\u822c\u4f1a\u5728errorlog\u91cc\u4f1a\u4ea7\u751f\u5982\u4e0b\u7684\u4e00\u6bb5\u8ddfCrash\u76f8\u5173\u7684\u73b0\u573a\u4fe1\u606f\uff0c\u5176\u4e2d\u7684\u201csignal\u201d\u3001\u201c\u89e6\u53d1Crash\u7684\u7ebf\u7a0b\u5806\u6808\u201d\u3001\u201c\u6b63\u5728\u6267\u884c\u7684SQL\u201d\u7b49\u4fe1\u606f\u90fd\u662f\u5206\u6790Crash\u6839\u56e0\u7684\u5173\u952e\u4fe1\u606f\u3002<\/p>\n<p>\u4e0b\u56fe\u4e3aMySQL\u901a\u8fc7<a href=\"https:\/\/link.segmentfault.com\/?enc=3i8%2B4cP0OK4CPwdfj%2Fnxnw%3D%3D.Fn4uvXg3%2BnXcuyX%2BDLPG7modKb1SeUNiuvpf%2BuxqHdUsmJvZ%2B5pquk14IV8emx6xoPS%2BZekn1MfwPYTNyx9RulJVNVfazTaGoBCVrBodkdL5dXoFhc%2FB0GY2qLNCpAboHHa16NmkyQqxMpQ64rtrYw%3D%3D\" rel=\"nofollow\">ut_a<\/a>\u65ad\u8a00\u68c0\u67e5\u5f02\u5e38\u95ee\u9898\u540e\u518d\u5230OS\u89e6\u53d1\u8fdb\u7a0bCrash\u7684\u6574\u4f53\u6d41\u7a0b\u56fe\u3002\u603b\u4f53\u6765\u8bf4\uff0cMySQL\u901a\u8fc7raise\u6765\u53d1\u9001SIGABRT\u4fe1\u53f7\u5230\u4e00\u4e2a\u961f\u5217\uff0cOS\u5185\u6838\u5904\u7406\u8fd9\u4e2a\u961f\u5217\u7684\u4fe1\u53f7\u5e76\u8c03\u7528MySQL\u7684\u5904\u7406\u7a0b\u5e8fhandle_fatal_signal\u6765\u4fdd\u7559\u4e00\u4e9b\u5173\u952e\u7684\u73b0\u573a\u4fe1\u606f\u3002\u8fd9\u91cc\u9700\u8981\u6ce8\u610f\u5230\u7684\u662f\uff0cOS\u5185\u6838\u5728__setup_rt_frame\u4e2d\u6267\u884c\u201cregs-&gt;ip = (unsigned long) ka-&gt;sa.sa_handler;\u201d\uff0c\u8fd9\u4e2a\u6b65\u9aa4\u6b63\u662f\u8ba9MySQL\u7684handle_fatal_signal\u65b9\u6cd5\u88ab\u987a\u5229\u7684\u8c03\u7528\u7684\u539f\u56e0\u3002<\/p>\n<p><img decoding=\"async\" referrerpolicy=\"no-referrer\" src=\"https:\/\/segmentfault.com\/img\/remote\/1460000043982457\" alt=\"\" title=\"\" loading=\"lazy\"><\/p>\n<h4>4.3.2 \u6839\u636eSignal\u7c7b\u578b\u505a\u6839\u56e0\u5206\u6790<\/h4>\n<p>\u5206\u6790Crash\u6839\u56e0\u7684\u7b2c\u4e00\u6b65\u5c31\u662f\u770b\u89e6\u53d1\u4e86\u4ec0\u4e48\u7c7b\u578b\u7684signal\uff0c\u5e38\u89c1\u7c7b\u578b\u6709\u201csignal 6\u201d\u3001\u201csignal 7\u201d\u3001\u201csignal 11\u201d\u51e0\u79cd\u7c7b\u578b\uff0c\u5f53\u77e5\u9053\u4e86Signal\u7c7b\u578b\u540e\u5c31\u6709\u4e00\u4e2a\u6839\u56e0\u5206\u6790\u7684\u5927\u65b9\u5411\u3002\u6839\u636e\u7ecf\u9a8c\uff0c\u6211\u4eec\u5c06\u5e38\u89c1\u7684signal\u7c7b\u578b\u4ee5\u53ca\u53ef\u80fd\u5f15\u8d77\u7684\u539f\u56e0\u5927\u81f4\u5982\u4e0b\u56fe\u6240\u793a\uff0c\u4e0b\u9762\u5bf9\u4e8e\u5e38\u89c1\u7684signal\u7c7b\u578b\u4ee5\u53ca\u5f15\u8d77\u7684\u6839\u56e0\u505a\u4e00\u4e2a\u7b80\u5355\u7684\u5206\u6790\u3002<\/p>\n<p><img decoding=\"async\" referrerpolicy=\"no-referrer\" src=\"https:\/\/segmentfault.com\/img\/remote\/1460000043982458\" alt=\"\" title=\"\" loading=\"lazy\"><\/p>\n<p>(1) \u5982\u679c\u662fsignal 6\uff0c\u4e00\u822c\u662f\u5b9e\u4f8b\u7684\u78c1\u76d8\u7a7a\u95f4\u4e0d\u8db3\u6216\u8005\u78c1\u76d8\u53ea\u8bfb\uff0cMySQL\u7684\u6570\u636e\u53d1\u751f\u4e86data corruption\uff0c\u5185\u6838\u5c42\u9762latch\u9501\u7684\u957f\u65f6\u95f4\u7684\u9501\u7b49\u5f85\u9020\u6210\u3002\u4e0d\u8fc7\u8fd9\u91cc\u7684data corruption\u3001\u957f\u65f6\u95f4\u7684\u9501\u7b49\u5f85\u53ef\u80fd\u662f\u786c\u76d8\u635f\u574f\u6216\u8005MySQL\u7684Bug\u9020\u6210\u7684\uff0c\u5224\u65ad\u903b\u8f91\u5982\u4e0b\uff1a<\/p>\n<ol>\n<li>\n<p><strong>\u78c1\u76d8\u7a7a\u95f4\u4e0d\u8db3\u6216\u8005\u78c1\u76d8\u53ea\u8bfb<\/strong><\/p>\n<ul>\n<li>\u78c1\u76d8\u5199\u6570\u636e\u65f6\uff0c\u5982\u679c\u78c1\u76d8\u6ca1\u6709\u5269\u4f59\u7a7a\u95f4\u6216\u8005\u6570\u636e\u5e93\u88ab\u8bbe\u7f6e\u4e3aread only\u5c31\u4f1a\u9020\u6210\u5b9e\u4f8b\u7684Crash\uff0c\u65e5\u5fd7\u4e2d\u6709\u201cEither disk is full or file system is read only while opening the binlog\u201d\u7684\u5b57\u6837\u3002<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>data corruption<\/strong><\/p>\n<ul>\n<li>MySQL\u5728\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u5982\u679c\u65ad\u8a00\uff08\u6bd4\u5982\u8fd9\u91cc<a href=\"https:\/\/link.segmentfault.com\/?enc=ivmaO19uHlo5HzYXDdFg5w%3D%3D.qhNSQ0acVdmzAk1Az840OuTjFZGyZgAXeycEtF4DEHQ7yqhPCr%2Bt4f4oBL7GArYzuniEZyx0IpTX4UOzLQIvFUbuIL7HRvtEvByG4GapVHEnPyCR9fiCmlS6BVbgAWiVx1d%2FpuNawrgu0PDqTqAe%2Fw%3D%3D\" rel=\"nofollow\">ut_a(table != NULL<\/a>)\u8fd4\u56defalse\uff0c\u5f88\u53ef\u80fd\u662f\u6570\u636e\u53d1\u751f\u4e86corruption\u5e76\u4e14MySQL\u5c31\u4f1a\u81ea\u884cCrash\u6389\uff1b\u53d1\u751fdata corruption\u65f6\u4e00\u822c\u5728MySQL\u7684error log\u4e2d\u6709\u201cDatabase page corruption on disk or a failed file read of tablespace\u201d\u7684\u5b57\u6837\uff0c\u6240\u4ee5\u67e5\u770b\u65e5\u5fd7\u6765\u5224\u65ad\u5426\u6709\u786c\u76d8\u6545\u969c\u95ee\u9898\uff0c\u5982\u679c\u6ca1\u6709\u786c\u4ef6\u6545\u969c\u4fe1\u606f\uff0c\u5219\u53ef\u80fd\u662fMySQL Bug\u9020\u6210\u7684data corruption\uff0c\u5177\u4f53\u5206\u6790\u770b\u4e0b\u9762 \u201cMySQL Bug\u201d\u90a3\u90e8\u5206\u3002<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u957f\u65f6\u95f4\u65e0\u6cd5\u83b7\u53d6Latch\u9501<\/strong><\/p>\n<ul>\n<li>\u5982\u679cMySQL\u957f\u65f6\u95f4\u6ca1\u6709\u529e\u6cd5\u83b7\u53d6\u5230Latch\u9501\uff0c\u90a3\u4e48MySQL\u8ba4\u4e3a\u7cfb\u7edf\u53ef\u80fd\u662fHang\u4f4f\u4e86\u4e5f\u4f1a\u5f15\u8d77\u5b9e\u4f8b\u7684Crash\uff0c\u5e76\u4e14\u65e5\u5fd7\u4e2d\u6253\u5370\u201cWe intentionally crash the server because it appears to be hung\u201d\u5b57\u6837\uff0c\u4e00\u822c\u662f\u786c\u4ef6\u6545\u969c\u9020\u6210\u7684\u6027\u80fd\u95ee\u9898\u6216\u8005MySQL\u81ea\u8eab\u7684\u8bbe\u8ba1\u7f3a\u9677\u5f62\u6210\u7684\u6027\u80fd\u95ee\u9898\u9020\u6210\u7684\uff0c\u8fd9\u6b21\u573a\u666f\u6839\u56e0\u5206\u6790\u6bd4\u8f83\u6709\u6311\u6218\u3002<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>MySQL Bug<\/strong><\/p>\n<ul>\n<li>\u5982\u679c\u4e0d\u5c5e\u4e8e\u4e0a\u9762\u4efb\u4f55\u4e00\u79cd\u60c5\u51b5\uff0c\u90a3\u4e48\u6709\u53ef\u80fd\u662fMySQL\u81ea\u8eab\u7684Bug\u9020\u6210\u7684Crash\uff0c\u6bd4\u5982MySQL\u5bf9\u4e00\u4e9bSQL\u89e3\u6790\u6216\u8005\u6267\u884c\u65f6\u4f1a\u53d1\u751fCrash\uff1b\u8fd9\u79cd\u573a\u666f\u4e00\u822c\u5148\u770b\u4e00\u4e0bCrash\u53d1\u751f\u65f6\u6b63\u5728\u6267\u884c\u7684SQL\u662f\u4ec0\u4e48\uff0c\u8fd9\u4e2aSQL\u53ef\u80fd\u5b58\u5728\u4e8eCrash\u65e5\u5fd7\u4e2d\uff08\u8fd9\u4e2a<a href=\"https:\/\/link.segmentfault.com\/?enc=OrdUXN6sY5d0jJQENL1zvQ%3D%3D.xxoLXIJjaMusAMRCgP5AJsZZOnD5dZ8rfTBv18epROGkQ8IUQf3T4cfyW3p9QkNNAB6yab3H%2Bk37jioXMAqhmA%3D%3D\" rel=\"nofollow\">Crash\u65e5\u5fd7<\/a>\u4e2d\u6709\u4e2a\u4f8b\u5b50\uff09\uff0c\u53ef\u4ee5\u5148\u628aSQL\u63d0\u53d6\u51fa\u6765\u518d\u6b21\u6267\u884c\u67e5\u770b\u80fd\u5426\u590d\u73b0\u95ee\u9898\uff1b\u5982\u679c\u5728Crash\u65e5\u5fd7\u4e2d\u770b\u4e0d\u5230SQL\u8bed\u53e5\uff0c\u5c31\u9700\u8981\u4ececore dump\u6587\u4ef6\u4e2d\u63d0\u53d6SQL\u4e86\uff0c\u63d0\u53d6\u65b9\u5f0f\u662fMySQL\u6bcf\u4e2a\u94fe\u63a5\u5bf9\u5e94\u7684THD\u7684\u6210\u5458\u53d8\u91cf<a href=\"https:\/\/link.segmentfault.com\/?enc=HhXAEgs5xeNJJ2A6eji%2BGA%3D%3D.4UztzlJ7cXZ3Niy3JHozdYhSAx2PbZl9q2LOkIj5zblWbcwctej9CncEQJkl0j%2BtUiAGmCRfBtkP5%2Fv2%2FTGZJT%2FKkiQUo66lvdOrJzR6h5YzDBW0H190V7fvHjnToRd4\" rel=\"nofollow\">m_query_string<\/a>\u5c31\u5305\u542b\u4e86SQL\u6587\u672c\uff0c\u53ea\u9700\u8981\u6253\u5f00Core Dump\u6587\u4ef6\u5207\u6362\u5230\u67d0\u4e2a\u5305\u542bTHD\u5b9e\u4f8b\u7684\u65b9\u6cd5\u5185\uff0c\u901a\u8fc7\u547d\u4ee4\u201cp this-&gt;thd-&gt;m_query_string.str \u201d\u6765\u6253\u5370\uff0c\u8fd9\u91cc\u6709\u4e2a<a href=\"https:\/\/link.segmentfault.com\/?enc=aaJJfpx%2FJ3mwyhSjUSRAxg%3D%3D.3MtN7%2B4S4IGQ24VdFv%2Fp%2FovNz6z38OxljtpJddvIqAIhDhjWyaIo0v04Hm4HLlCzLBZEbOtEPqzMX6rSlpaMLw%3D%3D\" rel=\"nofollow\">\u4f8b\u5b50<\/a>\u3002<\/li>\n<li>\u518d\u4e3e\u4e2aMySQL\u7684Bug\u9020\u6210data corruption\u7684\u4f8b\u5b50\uff0c\u4ece<a href=\"https:\/\/link.segmentfault.com\/?enc=7%2F6thh2MkIjSweXaYj05KA%3D%3D.%2FbAaEWKv%2BoeYM%2FWagNiinVyOSxr1ZqEvgwzhqIwTTac51AxtIxbKllByu4XcYC5EdWcufkpLmqf1u63rLHV%2FrQ%3D%3D\" rel=\"nofollow\">Crash\u65e5\u5fd7<\/a>\u91cc\u201cInnoDB: Assertion failure in thread 139605476095744 in file rem0rec.cc line 578\u201d\u770b\u51fa\uff0c\u4ecerec_get_offsets_func\u51fd\u6570\u4e2d\u89e6\u53d1<a href=\"https:\/\/link.segmentfault.com\/?enc=ei8hBVV3X4kgmu1Et%2BS01A%3D%3D.DUU1zpsbDO3djXJP4Xql2zl%2F4xjSYhQC0veGT1fG5UCHWLn9Hw0kWbUoeoKo%2FUnP6r3sU5tRzxJKwoZb1B2S5KOHX9F%2FmC9uVJDS7qgxPVbjmlA%2FogFWRowOlHAvVHoUBDcBNP2hEeI1%2B1Fkn2DZjw%3D%3D\" rel=\"nofollow\">ut_error<\/a>\u800c\u5bfc\u81f4\u7684Crash\uff0c\u4e4b\u6240\u4ee5\u89e6\u53d1\u8fd9\u4e2aCrash\u662f\u56e0\u4e3arec_get_offsets_func\u4e2d\u7684<a href=\"https:\/\/link.segmentfault.com\/?enc=%2BdDdniUTkSWwSEpaXf4bTw%3D%3D.jsCgxDScBsGdacIJvK1r2sOgpkGNhYkt9%2F%2FRHqw%2Bf1OyRbhwbRjapAHWDJLqUs2ym3tGXvMAwC96%2BvlozW8SjAUotR1eBt25Rk%2FFdnX0N2tGgZo789WX4Pasj57%2BOdc9rwerEZc8huAsu%2FxWxBFE9Q%3D%3D\" rel=\"nofollow\">rec_get_status(rec)<\/a>\u83b7\u53d6\u5230\u7684MySQL\u7684\u8bb0\u5f55\u7c7b\u578b\u4e0d\u7b26\u5408\u9884\u671f\uff08\u56e0\u4e3a\u8bb0\u5f55\u7c7b\u578b\u53ea\u6709\u56fa\u5b9a\u7684REC_STATUS_ORDINARY\u3001REC_STATUS_NODE_PTR\uff0cREC_STATUS_INFIMUM\uff0cREC_STATUS_SUPREMUM\u8fd94\u79cd\u7c7b\u578b\uff09\uff0c\u5982\u679c\u5185\u6838\u53d1\u73b0\u4e00\u4e2a\u8bb0\u5f55\u7c7b\u578b\u4e0d\u5c5e\u4e8e\u8fd94\u79cd\u7c7b\u578b\u7684\u4efb\u4f55\u4e00\u79cd\uff0c\u90a3\u4e48\u5c31\u662f\u53d1\u751f\u4e86data corruption\uff0c\u6240\u4ee5\u5fc5\u987b\u8981\u628a\u81ea\u5df1Crash\u6389\u3002\u4e3a\u4e86\u9a8c\u8bc1\u521a\u624d\u7684\u7ed3\u8bba\uff0c\u770b\u4e00\u4e0bCrash\u53d1\u751f\u65f6\u7684rec\u7684\u7c7b\u578b\u662f\u4ec0\u4e48\uff0c\u4ece\u6e90\u7801\u53ef\u77e5rec\u7684\u7c7b\u578b\u662f\u901a\u8fc7<a href=\"https:\/\/link.segmentfault.com\/?enc=ajJwhCSrxaQ0yYuSptma%2FQ%3D%3D.IW61bQamGIc50C108zoshimXV2sVbAZq%2BZ%2BIhlneir3hSBhbBHliDfXRpedLTP4x7PHypd7DtKgPNqcV8NnQhE%2FhYTHBKgUruUKzCfNxhH5DlE2udcupZkg%2BCy8NnPrNacVxfiOQhjrVRnHYHSKLqzwxhD0Oz5bhVXx2fCCuaK0%3D\" rel=\"nofollow\">rec_get_status<\/a>\u83b7\u53d6\uff0c\u5e76\u4e14\u5176\u901a\u8fc7\u8c03\u7528\u7684<a href=\"https:\/\/link.segmentfault.com\/?enc=gUbBolkPataUX18%2BOXqPxQ%3D%3D.kwxtuy2Ll2gSyIO5EUXsJAw5iKZqY3MfIB4Vmi32LySWd8GZ3FGzUyArDnhj0aGfziQUTXtQzReP%2FArs%2FvafCbPk9fiF0RAXrsy8MIFdxpEBb5GFjtaFSlkdjSZaykIMno%2BKgy20aPY5ZLOioZ6N9GkJIkkt%2Byl%2BAGarhSsqbJQ%3D\" rel=\"nofollow\">rec_get_bit_field_1<\/a>\u8ddf<a href=\"https:\/\/link.segmentfault.com\/?enc=TMGPk2P%2B3kgc8YGk3hsRhQ%3D%3D.meFPxRYERkGT41fVw0UOyscr%2F%2FDxTPRShSPVqo1Y7wKOGRTE7wlU%2Bs6JEHteEKfp89%2FOt8lCIFW7WDEe%2FEQxijHk91CxIXuvS3rqvPnYwjx6oVI28ddPY3LkfyHPaaNiwmav7%2BH71hqvCyY7LPe1mHYPJmW3lqh7LyOgdighNL8%3D\" rel=\"nofollow\">mach_read_from_1<\/a>\u4e24\u4e2a\u51fd\u6570\u53ef\u4ee5\u77e5\u9053rec\u7684\u7c7b\u578b\u5176\u5b9e\u5c31\u662frec\u8fd9\u4e2a\u6307\u9488\u5f80\u524d\u4e09\u4e2abyte\uff08\u901a\u8fc7#define REC_NEW_STATUS_MASK 0x7UL\u53ef\u77e5\uff09\u4ee3\u8868\u7684\u503c\u3002<\/li>\n<li>\u901a\u8fc7gdb\u52a0\u8f7dcore dump\u6587\u4ef6\u540e\uff0c\u5207\u6362\u5230\u629b\u51faexception\u7684\u7ebf\u7a0b\uff0c\u56e0\u4e3a\u5f02\u5e38\u662f\u5728rec_get_offsets_func\u91cc\u629b\u51fa\u7684\uff0c\u5207\u6362\u5230rec_get_offsets_func\u5bf9\u5e94\u7684frame 7\u6765\u9a8c\u8bc1rec\u7684\u7c7b\u578b\uff0c\u770b\u5230rec\u7684\u6307\u9488\u5730\u5740\u4e3a0x7f14b7f5685d\uff08\u76f8\u5173\u5206\u6790\u6570\u636e\u53ef\u4ee5\u770b\u6b64<a href=\"https:\/\/link.segmentfault.com\/?enc=CiBh5ewr2g2BH2aFawA2yg%3D%3D.QlrEM%2F1XhYrS4eK1qYWBbrZ8wnKQ3HFW27sN8Y2dZCslOns25YbKWsaGADOr5Hx7x5XHRgAuAEhWWvXfuYMMoA%3D%3D\" rel=\"nofollow\">\u94fe\u63a5<\/a>\uff09\u3002\u524d\u9762\u8bf4\u8fc7\uff0crec\u7684\u7c7b\u578b\u503c\u5728rec\u6307\u9488\u5f80\u524d\u4e09\u4e2abyte\u91cc\uff0c\u4e5f\u5c31\u662f\u6307\u94880x7f14b7f5685a\uff080x7f14b7f5685d-3\uff09\u90a3\u4e2a\u4f4d\u7f6e\u7684\u503c\uff0c\u53d1\u73b0\u662f0x1f\uff0c\u6267\u884c\u4e0e\u8ba1\u7b97\uff0811111(1f)&#038;00111(0x7UL)=00111=7 \uff09\u5f97\u5230\u7684\u7c7b\u578b\u662f7\uff0c\u800c\u8bb0\u5f55\u7c7b\u578b\u7684\u8303\u56f4\u662f\uff080\uff5e3\uff09\uff0c\u5f88\u660e\u663e\u8fd9\u4e2a\u6307\u9488\u6307\u5411\u7684\u8bb0\u5f55\u7c7b\u578b\u503c\u4fe1\u606f\u53d1\u751f\u4e86data corruption\uff08\u5206\u6790\u8fc7\u7a0b\u67e5\u770b\u6b64<a href=\"https:\/\/link.segmentfault.com\/?enc=%2BzruM45ExtHKpY%2F3LWWcKw%3D%3D.3zVdWRzxra1mTLiMXt2qtHYH9tn%2B%2FVFcYAJ4XO8RgqbSn70M7M0hv%2FNLJVKaY6Y0xLrQwad%2FTdpiUWr4FTO8DQ%3D%3D\" rel=\"nofollow\">\u94fe\u63a5<\/a>\uff09\uff0c\u8fd9\u91cc\u505a\u4e86\u4e00\u4e2arec\u7684\u7c7b\u578b\u5728\u6b63\u5e38\u60c5\u51b5\u4e0b\u8ddf\u672c\u4f8b\u5f02\u5e38\u60c5\u51b5\u4e0b\u7684\u7c7b\u578b\u503c\u8ba1\u7b97\u7684\u5bf9\u6bd4\u8868\uff0c\u53d1\u73b0\u6b63\u5e38\u60c5\u51b5\u4e0b\uff0crec\u7684\u7c7b\u578b\u503c\u5c31\u5e94\u8be5\u662f3\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><img decoding=\"async\" referrerpolicy=\"no-referrer\" src=\"https:\/\/segmentfault.com\/img\/remote\/1460000043982459\" alt=\"\" title=\"\" loading=\"lazy\"><\/p>\n<ul>\n<li>\u8fd9\u91cc\u6709\u4e2a\u91cd\u8981\u95ee\u9898\u662f\uff0c\u4e3a\u4ec0\u4e48rec\u7684\u7c7b\u578b\u662f\u65e0\u6548\u7684\u5462\uff1f\u5f88\u53ef\u80fd\u662fMySQL\u641c\u7d22\u6ee1\u8db3\u6761\u4ef6\u7684\u8bb0\u5f55\u7684\u65f6\u5019\uff0crec\u6307\u5411\u7684\u8bb0\u5f55\u5f88\u53ef\u80fd\u88abpage_cleaner\u5728\u540e\u53f0\u88ab\u6e05\u7406\u6389\u4e86\uff0c\u6240\u4ee5rec\u6307\u9488\u6307\u5411\u7684\u8bb0\u5f55\u5c31\u662f\u65e0\u6548\u4e86\u3002\u5b98\u65b9\u6709\u4e2abugfix\uff0c\u89e3\u51b3\u65b9\u6848\u5c31\u662f\u628aprev_rec\u8bbe\u7f6e\u4e3aNULL\uff08\u8fd9\u91cc\u7684prev_rec\u662fpersistent cursor\u6307\u5411\u7684\u8bb0\u5f55\uff0c\u8fd9\u91cc\u8bf4\u4e00\u4e0bpersistent cursor\uff0c\u5b83\u662fMySQL\u4eceInnoDB \u5c42\u83b7\u5f97\u8bb0\u5f55\u540e\u8fdb\u5165SQL\u5c42\u524d\u5728B-tree\u4e0a\u7684cursor\u4f1a\u88ab\u6682\u65f6\u5b58\u50a8\u5230row_prebuilt_t::pcur\u4e2d\uff0c\u5f53\u518d\u6b21\u4eceInnoDB\u5c42\u62ff\u6570\u636e\u65f6\uff0c\u5982\u679c\u5bf9\u5e94\u7684buf_block_t\u6ca1\u6709\u53d1\u751f\u4fee\u6539\uff0c\u5219\u53ef\u4ee5\u7ee7\u7eed\u6cbf\u7528\u4e4b\u524d\u5b58\u50a8\u7684cursor\uff0c\u5426\u5219\u9700\u8981\u91cd\u65b0\u5b9a\u4f4d\uff0c\u5982\u679c\u6ca1\u6709persistent cursor\u5219\u6bcf\u6b21\u90fd\u9700\u8981\u91cd\u65b0\u5b9a\u4f4d\u5219\u5bf9\u6027\u80fd\u6709\u5f71\u54cd\uff09\uff0c\u8fd9\u6837<a href=\"https:\/\/link.segmentfault.com\/?enc=Uf2PlcoCAOXXEAZV8O6P2Q%3D%3D.2GAuMw6OyQmd0qRzurzDGHSIRfgRMOsmpvvHn%2BeJTPVq6js95d4xUZklazm7I%2FqOOQoWbX6hJxf6yVTmup269tsbMuooJj3wSoMI3hdA9ZX%2FscnzoEgmmifzQcGh1R81ouy6VkWVwcgTOTETdS6YUQ%3D%3D\" rel=\"nofollow\">prev_rec != NULL<\/a>\u8fd9\u4e2a\u6761\u4ef6\u4e0d\u6ee1\u8db3\uff0c\u4e5f\u5c31\u6ca1\u6709\u673a\u4f1a\u8fdb\u5165rec_get_offsets_g_func\u91cc\u53bb\u68c0\u67e5rec\u7684\u7c7b\u578b\u503c\u800c\u5f15\u53d1Crash\u4e86\u3002<\/li>\n<\/ul>\n<p>\uff082) \u5982\u679c\u4e3asignal 7\uff0c\u90a3\u4e48\u5927\u6982\u7387\u662f\u5185\u5b58\u786c\u4ef6\u9519\u8bef\uff0c\u5e76\u4e14\u65e5\u5fd7\u91cc\u4e00\u822c\u6709\u201cmce: [Hardware Error]: Machine check events logged \uff0c mce: Uncorrected hardware memory error in user-access at xxx MCE xxx: Killing mysqld:xxx due to hardware memory corruption\u201d\u7b49\u5b57\u6837\u3002<\/p>\n<p>\uff083) \u5982\u679c\u4e3asignal 9\uff0c\u8868\u793a\u8fd9\u4e2a\u8fdb\u7a0b\u88abKill\u547d\u4ee4\u6740\u6389\u4e86\u3002<\/p>\n<p>\uff084) \u5982\u679c\u4e3asignal 11\uff0c\u8868\u793a\u662f\u7531MySQL\u7684Bug\u9020\u6210\u7684\uff0c\u8fd9\u7c7b\u95ee\u9898\u8f83\u96be\u5206\u6790\u7279\u522b\u662fMySQL Crash\u73b0\u573a\uff08\u901a\u8fc7core dump\u6253\u5370\u51fa\u6765\u7684\u5806\u6808\u4fe1\u606f\uff09\u5f80\u5f80\u8fd8\u4e0d\u662f\u7b2c\u4e00\u73b0\u573a\uff0c\u7531\u4e8e\u7bc7\u5e45\u5173\u7cfb\u5177\u4f53\u7684\u4f8b\u5b50\u5206\u6790\u4e0d\u5728\u672c\u6587\u4e2d\u7ed9\u51fa\uff0c\u4f46\u662f\u5206\u6790\u7684\u601d\u8def\u8ddf\u4e0a\u9762\u7684\u201cMySQL Bug\u201d\u662f\u7c7b\u4f3c\u7684\u3002<\/p>\n<h2>5 \u672c\u6587\u4f5c\u8005<\/h2>\n<p>\u88d5\u950b\uff0c\u6765\u81ea\u7f8e\u56e2\u57fa\u7840\u7814\u53d1\u5e73\u53f0-\u57fa\u7840\u6280\u672f\u90e8\uff0c\u8d1f\u8d23\u7f8e\u56e2\u6570\u636e\u5e93\u81ea\u6cbb\u5e73\u53f0\u7684\u76f8\u5173\u5de5\u4f5c\u3002<\/p>\n<h2>6 \u53c2\u8003<\/h2>\n<ul>\n<li><a href=\"https:\/\/link.segmentfault.com\/?enc=dBCWseuWj%2FBE%2BSfMYOp%2FdQ%3D%3D.PpsysygV9XPYiPOZiaw64XS4mFWZMMHTOhtvNfU7WEYqVb1A%2FnUW3sTplRRsLZIZ\" rel=\"nofollow\">https:\/\/github.com\/shenyufengdb\/sql<\/a><\/li>\n<li><a href=\"https:\/\/link.segmentfault.com\/?enc=X%2Fjim8rLkdS3q%2FpXZOWm%2BQ%3D%3D.MoShpk1hIvSPEHdKT1N0ZT8Yaju1LSc5oCvmoqxRSM7v0moJAJLnT8XNQrkD7A936KdH%2B%2FUjgmGpIdqWMARtbz741ZxOTOJib0LxQ1IQShk%3D\" rel=\"nofollow\">https:\/\/github.com\/percona\/percona-server\/blob\/release-5.7.41-44<\/a><\/li>\n<li><a href=\"https:\/\/link.segmentfault.com\/?enc=ECKrW0n1SBQXsLqXQQJdbQ%3D%3D.uUhDasIzZbUJD%2Flp4Av0Yzbn3iTc6hc4RYlbVi%2B%2BX14lk7gUkAfq93d4H2Wf7%2Bb2EQ9yyPzO4x8JWhYCz%2Fc7J6YBFACJmd9r99%2FNEObQTcnJVqmM%2FpT3Ulqymw1KAT1bhXWipjkdFmQwcoUUcO3ZvBjLUOoXq7iivXqSD5TqYNA%3D\" rel=\"nofollow\">An Efficient, Cost-Driven Index Selection Tool for Microsoft SQL Server<\/a><\/li>\n<li><a href=\"https:\/\/link.segmentfault.com\/?enc=hCl681PByGQ4U%2FkW1HlEbw%3D%3D.cVQrHQYWdTr1VVgMFdtPum046Q26VXXpDRdeg5Cl%2FFo654n5CiIp8oRTzmpNVfXmFX9w71GW4%2FMoPrRLoFhjI5Cxy8XTeK0f4f0xIOTbrIyuQwSdGZgyw8%2BGCHikJtNkfUXyRK%2Btc990C92akNkNeg%3D%3D\" rel=\"nofollow\">plan-stitch-harnessing-the-best-of-many-plans-2<\/a><\/li>\n<li><a href=\"https:\/\/link.segmentfault.com\/?enc=45%2FzdrODI7OC%2FsY6EjjNAQ%3D%3D.q%2BuAtaN7fIVCpQ%2Fl3jzaLDIdpnTOHivuylxKcSA%2FKolC4bSGH%2FDSVjztE0LFPV1IeIf5GiX%2BkbFszmybhKVFk2f3dIYtZzdtyZrqjNSK1zDwaBj8vu%2BeOYL9v70XP%2FKl9KjTMr37LzzoNxICFZ1YAHAfVnzPC5nXty9WHQsWY2g%3D\" rel=\"nofollow\">Random Sampling for Histogram Construction: How Much is Enough?<\/a><\/li>\n<li><a href=\"https:\/\/link.segmentfault.com\/?enc=FW8kBtfJHRneGk9qemgA4Q%3D%3D.zJ6GaLshSTpUzd8xPfWdSi1gciV53Zj10b8EuzLCqa02X4MGrwr%2BdbC0o5liFB%2BC\" rel=\"nofollow\">AutoAdmin \u201cwhat-if\u201d index analysis utility<\/a><\/li>\n<li><a href=\"https:\/\/link.segmentfault.com\/?enc=tHn0jI35%2Btl6OGp6OysVlg%3D%3D.AaJd%2FQ1LUgxyOAog3KFdVIMGsQAhxViWDMxYyvt2VniAToyOx1BirzJlc6Zoah4lcjC0xhHUN353LjUS2mebF%2F8OR0L9PU8eRggI%2BviLs13oKdf3RrJXjGihAOjQJDsREo2w54b0X8Q7mt8qVUL5Fg%3D%3D\" rel=\"nofollow\">What is a Self-Driving Database Management System?<\/a><\/li>\n<li><a href=\"https:\/\/link.segmentfault.com\/?enc=hxZAEDABw2zHroNBuj6CRQ%3D%3D.HNsfUJHU7Qn2aj66BaDI1ukKzsqwBKBrA21ons1vXiSeWQpCR8HxfLSVhvta2at4xlWZazHgA08v4s5xvVyMm1%2B%2Fpu6xJHsbzs6ZVbGB0EN%2BFDpoXBQtTr8SxuIB7Emgi9%2F89Xuq5n8nBSzyPZMa4w%3D%3D\" rel=\"nofollow\">https:\/\/www.microsoft.com\/en-us\/research\/publication\/self-tuning-database-systems-a-decade-of-progress\/<\/a><\/li>\n<li><a href=\"https:\/\/link.segmentfault.com\/?enc=FlYSOt4Dbk%2FfksUcKJroVQ%3D%3D.talGAkk7aVPJN%2BGikMGL3jaDzs5sWF1ZVRFQFtyvvA9z%2BsPoxI%2BLIMO78ss5ureqwUNvGeR3xIkxWQDO2BiPpQ%3D%3D\" rel=\"nofollow\">Automatic Database Management System Tuning Through Large-scale Machine Learning<\/a><\/li>\n<li><a href=\"https:\/\/link.segmentfault.com\/?enc=PAbmu4nyYM4mhyYpdtQgaQ%3D%3D.EXBDGUZOriqD%2BkVSbWcp%2BV%2FEqKCZUHVoamblDIpFIMLFML25i6VvO0czA94wN8jOMBjZv2BtXeSIO84lbeWlAA%3D%3D\" rel=\"nofollow\">Query-based Workload Forecasting for Self-Driving Database Management Systems<\/a><\/li>\n<li><a href=\"https:\/\/link.segmentfault.com\/?enc=Ia0i7jm57BoPEW0jIXRDVg%3D%3D.3KXrUAol%2BG4y5lT5fKPb93aDfqYuAEBkGGLsu2KY7eI9HYc7rcPvj7F%2BGsPb7EPn\" rel=\"nofollow\">The TSA Method<\/a><\/li>\n<li><a href=\"https:\/\/link.segmentfault.com\/?enc=aXJR7IcBY70rebifcLVasA%3D%3D.ERtxe3Q%2B65wqTwy3Tj02KlVjTSUF4JmtGSTm9G8wne89eEx5VRucTLJk%2BRmHsoc8\" rel=\"nofollow\">https:\/\/blog.langchain.dev\/langchain-chat\/<\/a><\/li>\n<li><a href=\"https:\/\/link.segmentfault.com\/?enc=HJjAZVq5SuKtjRcww%2BvSxw%3D%3D.IULBpqYp262UMTn5C1V8FyaVD5L9XqH2pB1czs4mkKb%2B4UN0WYIE%2FOa0zCAXI2xc\" rel=\"nofollow\">https:\/\/github.com\/hwchase17\/langchain<\/a><\/li>\n<li><a href=\"https:\/\/link.segmentfault.com\/?enc=Smv0n3BUwBaJGRkZOOVVoQ%3D%3D.RShdeKWRDw20hWQku%2B4HuaCE2%2FobMx6GbWzlflQgpSSVmqrJk6UqjLzO6p5Dhttp\" rel=\"nofollow\">REAC T: SYNERGIZING REASONING AND ACTING IN LANGUAGE MODELS<\/a><\/li>\n<li><a href=\"https:\/\/link.segmentfault.com\/?enc=%2FssDUQXeKWFl1wPDwZdwKQ%3D%3D.OoIx4wGfMyJ%2FIiy0l6wHHaq4O1EhGZmrs67XoaqGui3qmiCjTwSZ2YTVsS5WT5EM\" rel=\"nofollow\">Evaluating the Text-to-SQL Capabilities of Large Language Models<\/a><\/li>\n<li><a href=\"https:\/\/link.segmentfault.com\/?enc=Y18s5iX8fb4u9sWIfVoCBA%3D%3D.U2y8CNO%2BaSvyXwXaMFU8ihBlPLGC3xCtKQKPINkK3Dvqx64s6cLSgvceiOjNSWeH\" rel=\"nofollow\">SQL-PALM: IMPROVED LARGE LANGUAGE MODEL ADAPTATION FOR TEXT-TO-SQL<\/a><\/li>\n<\/ul>\n<h2>\u9605\u8bfb\u66f4\u591a<\/h2>\n<p><strong>|<\/strong>  \u5728\u7f8e\u56e2\u516c\u4f17\u53f7\u83dc\u5355\u680f\u5bf9\u8bdd\u6846\u56de\u590d\u30102022\u5e74\u8d27\u3011\u3001\u30102021\u5e74\u8d27\u3011\u3001\u30102020\u5e74\u8d27\u3011\u3001\u30102019\u5e74\u8d27\u3011\u3001\u30102018\u5e74\u8d27\u3011\u3001\u30102017\u5e74\u8d27\u3011\u7b49\u5173\u952e\u8bcd\uff0c\u53ef\u67e5\u770b\u7f8e\u56e2\u6280\u672f\u56e2\u961f\u5386\u5e74\u6280\u672f\u6587\u7ae0\u5408\u96c6\u3002<\/p>\n<p><img decoding=\"async\" referrerpolicy=\"no-referrer\" src=\"https:\/\/segmentfault.com\/img\/remote\/1460000042283403\" alt=\"\" title=\"\" loading=\"lazy\"><\/p>\n<p>| \u672c\u6587\u7cfb\u7f8e\u56e2\u6280\u672f\u56e2\u961f\u51fa\u54c1\uff0c\u8457\u4f5c\u6743\u5f52\u5c5e\u7f8e\u56e2\u3002\u6b22\u8fce\u51fa\u4e8e\u5206\u4eab\u548c\u4ea4\u6d41\u7b49\u975e\u5546\u4e1a\u76ee\u7684\u8f6c\u8f7d\u6216\u4f7f\u7528\u672c\u6587\u5185\u5bb9\uff0c\u656c\u8bf7\u6ce8\u660e\u201c\u5185\u5bb9\u8f6c\u8f7d\u81ea\u7f8e\u56e2\u6280\u672f\u56e2\u961f\u201d\u3002\u672c\u6587\u672a\u7ecf\u8bb8\u53ef\uff0c\u4e0d\u5f97\u8fdb\u884c\u5546\u4e1a\u6027\u8f6c\u8f7d\u6216\u8005\u4f7f\u7528\u3002\u4efb\u4f55\u5546\u7528\u884c\u4e3a\uff0c\u8bf7\u53d1\u9001\u90ae\u4ef6\u81f3<a href=\"https:\/\/segmentfault.com\/a\/mailto:tech@meituan.com\">tech@meituan.com<\/a>\u7533\u8bf7\u6388\u6743\u3002<\/p>\n<p><a href=\"https:\/\/segmentfault.com\/a\/1190000043982443\">https:\/\/segmentfault.com\/a\/1190000043982443<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u672c\u6587\u6574\u7406\u81ea\u4e3b\u9898\u5206\u4eab\u300a\u7f8e\u56e2\u6570\u636e\u5e93\u81ea\u6cbb\u670d\u52a1\u5e73\u53f0\u5efa\u8bbe\u300b\uff0c\u7cfb\u8d85\u5927\u89c4\u6a21\u6570\u636e\u5e93\u96c6\u7fa4\u4fdd\u7a33\u7cfb\u5217\u7684\u7b2c\u56db\u7bc7\u6587\u7ae0\u3002\u672c\u6587\u4f5c\u8005\u5728\u6f14\u8bb2\u540e\u6839 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[4],"tags":[],"class_list":["post-10008053","post","type-post","status-publish","format-standard","hentry","category-share"],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/itmax.cn\/index.php?rest_route=\/wp\/v2\/posts\/10008053","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itmax.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itmax.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itmax.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/itmax.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=10008053"}],"version-history":[{"count":0,"href":"https:\/\/itmax.cn\/index.php?rest_route=\/wp\/v2\/posts\/10008053\/revisions"}],"wp:attachment":[{"href":"https:\/\/itmax.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=10008053"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itmax.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=10008053"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itmax.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=10008053"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}