{"id":47105,"date":"2023-03-13T14:12:32","date_gmt":"2023-01-04T12:09:01","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%8d%87%e7%ba%a7clickhouse\/"},"modified":"2024-04-29T18:42:06","modified_gmt":"2024-04-29T10:42:06","slug":"%e5%8d%87%e7%ba%a7clickhouse","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%8d%87%e7%ba%a7clickhouse\/","title":{"rendered":"\u5347\u7ea7ClickHouse"},"content":{"rendered":"<p>\u8fd9\u7bc7\u6587\u7ae0\u662f\u300a2021\u5e74\u300aStandby Advent Calendar\u300b\u7684\u7b2c\u4e8c\u5929\u6587\u7ae0\u3002<br \/>\n\u6628\u5929\u662f@kencom2400\u5148\u751f\u5173\u4e8e\u5982\u4f55\u5728MySQL\u4e2d\u65b9\u4fbf\u5730\u4f7f\u7528\u53d8\u91cf\u7684\u6587\u7ae0\u3002<\/p>\n<hr \/>\n<p>\u5347\u7ea7ClickHouse\u5f88\u5bb9\u6613\u3002\u53ea\u9700\u6309\u7167\u4ee5\u4e0b\u6587\u4ef6\u4e2d\u7684\u6307\u793a\u5b89\u88c5\u6700\u65b0\u7248\u672c\u5e76\u91cd\u65b0\u542f\u52a8\u670d\u52a1\u5668\u5373\u53ef\u5b8c\u6210\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>\u57fa\u672c\u6765\u8bf4\uff0c\u5411\u4e0b\u517c\u5bb9\u6027\u662f\u4fdd\u6301\u7740\u7684\uff0c\u4e00\u4e9b\u53d8\u66f4\u548c\u88ab\u79fb\u9664\u7684\u529f\u80fd\u4e5f\u4f1a\u5728\u51e0\u4e2a\u7248\u672c\u4e2d\u88ab\u6807\u8bb0\u4e3a\u4e0d\u5efa\u8bae\u4f7f\u7528\u5e76\u53d1\u51fa\u8b66\u544a\uff0c\u6240\u4ee5\u53ea\u8981\u5728\u6b64\u671f\u95f4\u8fdb\u884c\u9002\u5e94\uff0c\u5c31\u6ca1\u6709\u95ee\u9898\u3002<\/p>\n<p>\u662f\u7684\uff0c\u5728\u8fdb\u884c\u5b9a\u671f\u7ef4\u62a4\u7684\u60c5\u51b5\u4e0b\u901a\u5e38\u4e0d\u4f1a\u51fa\u95ee\u9898\uff0c\u4f46\u5982\u679c\u7ecf\u8fc7\u6570\u5e74\u7684\u65f6\u95f4\u4f1a\u600e\u6837\u5462\uff1f<br \/>\n\u5728\u8fd9\u91cc\u6211\u4eec\u8003\u8651\u4ece1.1.54343\u5347\u7ea7\u523021.10\u3002\u6211\u4eec\u5c06\u5305\u62ec\u4f7f\u7528Docker\u5728\u672c\u5730\u8fdb\u884c\u786e\u8ba4\u7684\u6b65\u9aa4\u6765\u8fdb\u884c\u68c0\u67e5\u3002<br \/>\n\u7ecf\u8fc74\u5e74\u7684\u65f6\u95f4\u53ef\u80fd\u6709\u76f8\u5f53\u591a\u7684\u53d8\u5316\u3002\u5b83\u662f\u5426\u80fd\u6b63\u5e38\u8fd0\u884c\u5462\uff1f<\/p>\n<h2>\u672c\u5730\u9a8c\u8bc1<\/h2>\n<p>\u4f7f\u7528Docker\u5728\u672c\u5730\u642d\u5efaClickhouse\u8fdb\u884c\u9a8c\u8bc1\u3002\u7531\u4e8e\u96c6\u7fa4\u9a8c\u8bc1\u592a\u8fc7\u5197\u957f\uff0c\u6240\u4ee5\u6211\u4eec\u5c06\u5728\u8fd9\u91cc\u8fdb\u884c\u5355\u4e00\u670d\u52a1\u5668\u7684\u9a8c\u8bc1\u3002<br \/>\n\u7136\u540e\uff0c\u5728\u5347\u7ea7\u8fc7\u7a0b\u4e2d\u5c06\u8fdb\u884c\u4ee5\u4e0b\u64cd\u4f5c\u8fdb\u884c\u786e\u8ba4\u3002<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u4f5c\u6210\u3057\u305f\u30e6\u30fc\u30b6\u304c\u305d\u306e\u307e\u307e\u4f7f\u7528\u3067\u304d\u308b\u3053\u3068<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u4f5c\u6210\u3057\u305fDB\u3001\u30c6\u30fc\u30d6\u30eb\u3001\u30c7\u30fc\u30bf\u304c\u53c2\u7167\u3067\u304d\u308b\u3053\u3068<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\u4f5c\u6210\u3057\u305f\u30c6\u30fc\u30d6\u30eb\u306b\u30c7\u30fc\u30bf\u304c\u767b\u9332\u3067\u304d\u308b\u3053\u3068<\/ul>\n<h3>\u6784\u5efa\u65e7\u7248\u672c<\/h3>\n<p>\u56e0\u4e3a\u5728Dockerhub\u4e0a\u53ef\u4ee5\u627e\u5230\uff0c\u6240\u4ee5\u53ef\u4ee5\u8f7b\u677e\u5730\u4f7f\u7528Docker\u521b\u5efa\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"o\">&gt;<\/span> <span class=\"nb\">mkdir<\/span> <span class=\"nv\">$HOME<\/span>\/clickhouse_upgrade\r\n<span class=\"o\">&gt;<\/span> docker run <span class=\"nt\">-d<\/span> <span class=\"nt\">--name<\/span> clickhouse-upgrade-server <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--ulimit<\/span> <span class=\"nv\">nofile<\/span><span class=\"o\">=<\/span>262144:262144 <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--volume<\/span><span class=\"o\">=<\/span><span class=\"nv\">$HOME<\/span>\/clickhouse_upgrade:\/var\/lib\/clickhouse <span class=\"se\">\\<\/span>\r\n  yandex\/clickhouse-server:1.1.54343\r\n<\/code><\/pre>\n<h4>\u521b\u5efa\u7528\u6237\uff0c\u66f4\u6539\u670d\u52a1\u5668\u914d\u7f6e<\/h4>\n<p>\u5728\u65e7\u7248\u672c\u4e2d\uff0c\u4e0d\u5b58\u5728CREATE USER\u7b49\u7528\u6237\u64cd\u4f5c\u547d\u4ee4\u3002\u8981\u521b\u5efa\u7528\u6237\u6216\u66f4\u6539\u670d\u52a1\u5668\u7684\u5168\u5c40\u8bbe\u7f6e\uff0c\u9700\u8981\u4fee\u6539\u914d\u7f6e\u6587\u4ef6\u5e76\u91cd\u65b0\u542f\u52a8\u670d\u52a1\u5668\u3002<\/p>\n<p>\u4f7f\u7528Docker\u5728\u672c\u5730\u542f\u52a8\u7684\u670d\u52a1\u5668\u4e2d\u8fdb\u5165\u5e76\u5c06\u9ed8\u8ba4\u914d\u7f6e\u6587\u4ef6\u5e26\u5230\u672c\u5730\u662f\u7b80\u5355\u7684\u3002\u4e00\u65e6\u670d\u52a1\u5668\u542f\u52a8\uff0c\u8fdb\u5165\u670d\u52a1\u5668\u5e76\u5c06\u914d\u7f6e\u6587\u4ef6\u590d\u5236\u5230\u6302\u8f7d\u7684\u76ee\u5f55\u4e2d\u5373\u53ef\u3002\u8fd9\u6837\u5c31\u53ef\u4ee5\u4fee\u6539\u914d\u7f6e\u4e86\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"o\">&gt;<\/span> docker <span class=\"nb\">exec<\/span> <span class=\"nt\">-it<\/span> clickhouse-upgrade-server bash\r\n<span class=\"o\">&gt;<\/span> <span class=\"nb\">cp<\/span> <span class=\"nt\">-p<\/span> \/etc\/clickhouse-server\/config.xml \/var\/lib\/clickhouse\/.\r\n<span class=\"o\">&gt;<\/span> <span class=\"nb\">cp<\/span> <span class=\"nt\">-p<\/span> \/etc\/clickhouse-server\/users.xml \/var\/lib\/clickhouse\/.\r\n<span class=\"o\">&gt;<\/span> <span class=\"nb\">exit<\/span>\r\n<\/code><\/pre>\n<p>\u5728\u8fd9\u91cc\uff0c\u53ea\u8fdb\u884c\u7528\u6237\u7684\u6dfb\u52a0\u3002\u6211\u4eec\u5c06\u91cd\u590d\u4f7f\u7528\u9ed8\u8ba4\u7684profiles\u548cquotas\u3002<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">ID: test<\/ul>\n<\/li>\n<\/ul>\n<p>PW: test<\/p>\n<pre class=\"post-pre\"><code><span class=\"nt\">&lt;yandex&gt;<\/span>\r\n  <span class=\"nt\">&lt;profiles&gt;&lt;\/profiles&gt;<\/span>\r\n  <span class=\"nt\">&lt;users&gt;<\/span>\r\n    <span class=\"nt\">&lt;default&gt;&lt;\/default&gt;<\/span>\r\n    <span class=\"nt\">&lt;test&gt;<\/span>\r\n      <span class=\"nt\">&lt;password_sha256_hex&gt;<\/span>9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08<span class=\"nt\">&lt;\/password_sha256_hex&gt;<\/span>\r\n      <span class=\"nt\">&lt;networks<\/span> <span class=\"na\">incl=<\/span><span class=\"s\">\"networks\"<\/span> <span class=\"na\">replace=<\/span><span class=\"s\">\"replace\"<\/span><span class=\"nt\">&gt;<\/span>\r\n        <span class=\"nt\">&lt;ip&gt;<\/span>::\/0<span class=\"nt\">&lt;\/ip&gt;<\/span>\r\n      <span class=\"nt\">&lt;\/networks&gt;<\/span>\r\n      <span class=\"nt\">&lt;profile&gt;<\/span>default<span class=\"nt\">&lt;\/profile&gt;<\/span>\r\n      <span class=\"nt\">&lt;quota&gt;<\/span>default<span class=\"nt\">&lt;\/quota&gt;<\/span>\r\n    <span class=\"nt\">&lt;\/test&gt;<\/span>\r\n  <span class=\"nt\">&lt;\/users&gt;<\/span>\r\n  <span class=\"nt\">&lt;quotas&gt;&lt;\/quotas&gt;<\/span>\r\n<span class=\"nt\">&lt;\/yandex&gt;<\/span>\r\n<\/code><\/pre>\n<p>\u4e3a\u4e86\u52a0\u8f7d\u914d\u7f6e\u6587\u4ef6\uff0c\u91cd\u65b0\u542f\u52a8Docker\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"o\">&gt;<\/span> docker <span class=\"nb\">rm<\/span> <span class=\"nt\">-f<\/span> clickhouse-upgrade-server\r\n<span class=\"o\">&gt;<\/span> docker run <span class=\"nt\">-d<\/span> <span class=\"nt\">--name<\/span> clickhouse-upgrade-server <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--ulimit<\/span> <span class=\"nv\">nofile<\/span><span class=\"o\">=<\/span>262144:262144 <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--volume<\/span><span class=\"o\">=<\/span><span class=\"nv\">$HOME<\/span>\/clickhouse_upgrade:\/var\/lib\/clickhouse <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--volume<\/span><span class=\"o\">=<\/span><span class=\"nv\">$HOME<\/span>\/clickhouse_upgrade\/config.xml:\/etc\/clickhouse-server\/config.xml <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--volume<\/span><span class=\"o\">=<\/span><span class=\"nv\">$HOME<\/span>\/clickhouse_upgrade\/users.xml:\/etc\/clickhouse-server\/users.xml <span class=\"se\">\\<\/span>\r\n  yandex\/clickhouse-server:1.1.54343\r\n<\/code><\/pre>\n<p>\u8981\u4ee5\u4f5c\u6210\u7684\u7528\u6237\u767b\u5f55\u5230\u5ba2\u6237\u7aef\uff0c\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u8fdb\u884c\u767b\u5f55\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"o\">&gt;<\/span> docker run <span class=\"nt\">-it<\/span> <span class=\"nt\">--rm<\/span> <span class=\"nt\">--link<\/span> clickhouse-upgrade-server:clickhouse-server <span class=\"se\">\\<\/span>\r\n  yandex\/clickhouse-client:1.1.54343 <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--host<\/span> clickhouse-server <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--user<\/span> <span class=\"nb\">test<\/span> <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--password<\/span> <span class=\"nb\">test<\/span>\r\n<\/code><\/pre>\n<p>\u56e0\u4e3a\u80fd\u591f\u521b\u5efa\u7528\u6237\uff0c\u6240\u4ee5\u6211\u4eec\u5c06\u7ee7\u7eed\u6ce8\u518c\u6570\u636e\u3002<\/p>\n<h4>\u6d4b\u8bd5\u6570\u636e\u7684\u6ce8\u518c<\/h4>\n<pre class=\"post-pre\"><code><span class=\"p\">:)<\/span> <span class=\"k\">CREATE<\/span> <span class=\"k\">DATABASE<\/span> <span class=\"n\">sample<\/span>\r\n<span class=\"p\">:)<\/span> <span class=\"n\">USE<\/span> <span class=\"n\">sample<\/span>\r\n<span class=\"p\">:)<\/span> <span class=\"k\">CREATE<\/span> <span class=\"k\">TABLE<\/span> <span class=\"n\">sample_table_20211201<\/span><span class=\"p\">(<\/span><span class=\"n\">id<\/span> <span class=\"n\">Int32<\/span><span class=\"p\">,<\/span> <span class=\"n\">val<\/span> <span class=\"n\">String<\/span><span class=\"p\">,<\/span> <span class=\"n\">d<\/span> <span class=\"nb\">Date<\/span><span class=\"p\">,<\/span> <span class=\"n\">dt<\/span> <span class=\"nb\">DateTime<\/span><span class=\"p\">)<\/span>\r\n  <span class=\"n\">ENGINE<\/span> <span class=\"o\">=<\/span> <span class=\"n\">MergeTree<\/span><span class=\"p\">(<\/span><span class=\"n\">d<\/span><span class=\"p\">,<\/span> <span class=\"p\">(<\/span><span class=\"n\">id<\/span><span class=\"p\">,<\/span> <span class=\"n\">d<\/span><span class=\"p\">),<\/span> <span class=\"mi\">8192<\/span><span class=\"p\">)<\/span>\r\n<span class=\"p\">:)<\/span> <span class=\"k\">CREATE<\/span> <span class=\"k\">TABLE<\/span> <span class=\"n\">sample_table_20211202<\/span><span class=\"p\">(<\/span><span class=\"n\">id<\/span> <span class=\"n\">Int32<\/span><span class=\"p\">,<\/span> <span class=\"n\">val<\/span> <span class=\"n\">String<\/span><span class=\"p\">,<\/span> <span class=\"n\">d<\/span> <span class=\"nb\">Date<\/span><span class=\"p\">,<\/span> <span class=\"n\">dt<\/span> <span class=\"nb\">DateTime<\/span><span class=\"p\">)<\/span>\r\n  <span class=\"n\">ENGINE<\/span> <span class=\"o\">=<\/span> <span class=\"n\">MergeTree<\/span><span class=\"p\">(<\/span><span class=\"n\">d<\/span><span class=\"p\">,<\/span> <span class=\"p\">(<\/span><span class=\"n\">id<\/span><span class=\"p\">,<\/span> <span class=\"n\">d<\/span><span class=\"p\">),<\/span> <span class=\"mi\">8192<\/span><span class=\"p\">)<\/span>\r\n<span class=\"p\">:)<\/span> <span class=\"k\">CREATE<\/span> <span class=\"k\">TABLE<\/span> <span class=\"n\">sample_table<\/span> <span class=\"k\">AS<\/span> <span class=\"n\">sample_table_20211201<\/span> <span class=\"n\">ENGINE<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Merge<\/span><span class=\"p\">(<\/span><span class=\"n\">sample<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'^sample_table_'<\/span><span class=\"p\">)<\/span>\r\n<span class=\"p\">:)<\/span> <span class=\"k\">INSERT<\/span> <span class=\"k\">INTO<\/span> <span class=\"n\">sample_table_20211201<\/span> <span class=\"k\">VALUES<\/span> \r\n  <span class=\"p\">(<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'sample1'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-01'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-01T00:00:00'<\/span><span class=\"p\">)<\/span>\r\n  <span class=\"p\">,(<\/span><span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'sample2'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-01'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-01T00:00:00'<\/span><span class=\"p\">)<\/span>\r\n  <span class=\"p\">,(<\/span><span class=\"mi\">3<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'sample3'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-01'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-01T00:00:00'<\/span><span class=\"p\">)<\/span>\r\n  <span class=\"p\">,(<\/span><span class=\"mi\">4<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'sample4'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-01'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-01T00:00:00'<\/span><span class=\"p\">)<\/span>\r\n  <span class=\"p\">,(<\/span><span class=\"mi\">5<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'sample5'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-01'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-01T00:00:00'<\/span><span class=\"p\">)<\/span>\r\n<span class=\"p\">:)<\/span> <span class=\"k\">INSERT<\/span> <span class=\"k\">INTO<\/span> <span class=\"n\">sample_table_20211202<\/span> <span class=\"k\">VALUES<\/span> \r\n  <span class=\"p\">(<\/span><span class=\"mi\">6<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'sample6'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-02'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-02T00:00:00'<\/span><span class=\"p\">)<\/span>\r\n  <span class=\"p\">,(<\/span><span class=\"mi\">7<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'sample7'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-02'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-02T00:00:00'<\/span><span class=\"p\">)<\/span>\r\n  <span class=\"p\">,(<\/span><span class=\"mi\">8<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'sample8'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-02'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-02T00:00:00'<\/span><span class=\"p\">)<\/span>\r\n  <span class=\"p\">,(<\/span><span class=\"mi\">9<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'sample9'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-02'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-02T00:00:00'<\/span><span class=\"p\">)<\/span>\r\n  <span class=\"p\">,(<\/span><span class=\"mi\">10<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'sample10'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-02'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-02T00:00:00'<\/span><span class=\"p\">)<\/span>\r\n<span class=\"p\">:)<\/span> <span class=\"k\">SELECT<\/span> <span class=\"o\">*<\/span> <span class=\"k\">FROM<\/span> <span class=\"n\">sample_table<\/span> \r\n\r\n<span class=\"err\">\u250c\u2500<\/span><span class=\"n\">id<\/span><span class=\"err\">\u2500\u252c\u2500<\/span><span class=\"n\">val<\/span><span class=\"err\">\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span><span class=\"n\">d<\/span><span class=\"err\">\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span><span class=\"n\">dt<\/span><span class=\"err\">\u2500\u2510<\/span>\r\n<span class=\"err\">\u2502<\/span>  <span class=\"mi\">1<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample1<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">01<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">01<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span>  <span class=\"mi\">2<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample2<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">01<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">01<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span>  <span class=\"mi\">3<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample3<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">01<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">01<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span>  <span class=\"mi\">4<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample4<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">01<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">01<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span>  <span class=\"mi\">5<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample5<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">01<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">01<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2514\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<\/span>\r\n<span class=\"err\">\u250c\u2500<\/span><span class=\"n\">id<\/span><span class=\"err\">\u2500\u252c\u2500<\/span><span class=\"n\">val<\/span><span class=\"err\">\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span><span class=\"n\">d<\/span><span class=\"err\">\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span><span class=\"n\">dt<\/span><span class=\"err\">\u2500\u2510<\/span>\r\n<span class=\"err\">\u2502<\/span>  <span class=\"mi\">6<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample6<\/span>  <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span>  <span class=\"mi\">7<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample7<\/span>  <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span>  <span class=\"mi\">8<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample8<\/span>  <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span>  <span class=\"mi\">9<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample9<\/span>  <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span> <span class=\"mi\">10<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample10<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2514\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<\/span>\r\n\r\n<span class=\"mi\">10<\/span> <span class=\"k\">rows<\/span> <span class=\"k\">in<\/span> <span class=\"k\">set<\/span><span class=\"p\">.<\/span> <span class=\"n\">Elapsed<\/span><span class=\"p\">:<\/span> <span class=\"mi\">0<\/span><span class=\"p\">.<\/span><span class=\"mi\">019<\/span> <span class=\"n\">sec<\/span><span class=\"p\">.<\/span> \r\n<\/code><\/pre>\n<h3>\u70b9\u51fbHouse\u5347\u7ea7<\/h3>\n<p>\u505c\u6b62Docker\uff0c\u5e76\u542f\u52a821.10\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"o\">&gt;<\/span> docker <span class=\"nb\">rm<\/span> <span class=\"nt\">-f<\/span> clickhouse-upgrade-server\r\n<span class=\"o\">&gt;<\/span> docker run <span class=\"nt\">-d<\/span> <span class=\"nt\">--name<\/span> clickhouse-upgrade-server <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--ulimit<\/span> <span class=\"nv\">nofile<\/span><span class=\"o\">=<\/span>262144:262144 <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--volume<\/span><span class=\"o\">=<\/span><span class=\"nv\">$HOME<\/span>\/clickhouse_upgrade:\/var\/lib\/clickhouse <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--volume<\/span><span class=\"o\">=<\/span><span class=\"nv\">$HOME<\/span>\/clickhouse_upgrade\/config.xml:\/etc\/clickhouse-server\/config.xml <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--volume<\/span><span class=\"o\">=<\/span><span class=\"nv\">$HOME<\/span>\/clickhouse_upgrade\/users.xml:\/etc\/clickhouse-server\/users.xml <span class=\"se\">\\<\/span>\r\n  clickhouse\/clickhouse-server:21.10\r\n<\/code><\/pre>\n<h4>\u521b\u5efa\u7684\u7528\u6237\u53ef\u76f4\u63a5\u4f7f\u7528<\/h4>\n<p>\u786e\u8ba4\u5728\u670d\u52a1\u5668\u542f\u52a8\u540e\u53ef\u4ee5\u4f7f\u7528\u521b\u5efa\u7684\u7528\u6237\u8fdb\u884c\u8fde\u63a5\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"o\">&gt;<\/span> docker run <span class=\"nt\">-it<\/span> <span class=\"nt\">--rm<\/span> <span class=\"nt\">--link<\/span> clickhouse-upgrade-server:clickhouse-server <span class=\"se\">\\<\/span>\r\n  clickhouse\/clickhouse-client:21.10 <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--host<\/span> clickhouse-server <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--user<\/span> <span class=\"nb\">test<\/span> <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--password<\/span> <span class=\"nb\">test\r\n<\/span>ClickHouse client version 21.10.2.15 <span class=\"o\">(<\/span>official build<span class=\"o\">)<\/span><span class=\"nb\">.<\/span>\r\nConnecting to clickhouse-server:9000 as user test.\r\nConnected to ClickHouse server version 21.10.2 revision 54449.\r\n\r\n:<span class=\"o\">)<\/span>\r\n<\/code><\/pre>\n<h4>\u80fd\u591f\u8bbf\u95ee\u5df2\u521b\u5efa\u7684\u6570\u636e\u5e93\u3001\u8868\u548c\u6570\u636e\u3002<\/h4>\n<p>\u786e\u8ba4\u80fd\u591f\u641c\u7d22\u5e76\u68c0\u7d22\u4f7f\u7528\u65e7\u7248\u672c\u521b\u5efa\u7684\u8868\u683c\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"p\">:)<\/span> <span class=\"n\">USE<\/span> <span class=\"n\">sample<\/span>\r\n<span class=\"p\">:)<\/span> <span class=\"k\">SELECT<\/span> <span class=\"o\">*<\/span> <span class=\"k\">FROM<\/span> <span class=\"n\">sample_table<\/span>\r\n\r\n<span class=\"err\">\u250c\u2500<\/span><span class=\"n\">id<\/span><span class=\"err\">\u2500\u252c\u2500<\/span><span class=\"n\">val<\/span><span class=\"err\">\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span><span class=\"n\">d<\/span><span class=\"err\">\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span><span class=\"n\">dt<\/span><span class=\"err\">\u2500\u2510<\/span>\r\n<span class=\"err\">\u2502<\/span>  <span class=\"mi\">1<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample1<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">01<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">01<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span>  <span class=\"mi\">2<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample2<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">01<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">01<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span>  <span class=\"mi\">3<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample3<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">01<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">01<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span>  <span class=\"mi\">4<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample4<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">01<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">01<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span>  <span class=\"mi\">5<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample5<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">01<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">01<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2514\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<\/span>\r\n<span class=\"err\">\u250c\u2500<\/span><span class=\"n\">id<\/span><span class=\"err\">\u2500\u252c\u2500<\/span><span class=\"n\">val<\/span><span class=\"err\">\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span><span class=\"n\">d<\/span><span class=\"err\">\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span><span class=\"n\">dt<\/span><span class=\"err\">\u2500\u2510<\/span>\r\n<span class=\"err\">\u2502<\/span>  <span class=\"mi\">6<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample6<\/span>  <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span>  <span class=\"mi\">7<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample7<\/span>  <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span>  <span class=\"mi\">8<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample8<\/span>  <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span>  <span class=\"mi\">9<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample9<\/span>  <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span> <span class=\"mi\">10<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample10<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2514\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<\/span>\r\n\r\n<span class=\"mi\">10<\/span> <span class=\"k\">rows<\/span> <span class=\"k\">in<\/span> <span class=\"k\">set<\/span><span class=\"p\">.<\/span> <span class=\"n\">Elapsed<\/span><span class=\"p\">:<\/span> <span class=\"mi\">0<\/span><span class=\"p\">.<\/span><span class=\"mi\">022<\/span> <span class=\"n\">sec<\/span><span class=\"p\">.<\/span> \r\n<\/code><\/pre>\n<h4>\u80fd\u591f\u5c06\u6570\u636e\u6dfb\u52a0\u5230\u521b\u5efa\u7684\u8868\u683c\u4e2d\u3002<\/h4>\n<p>\u6211\u53ef\u4ee5\u8bbf\u95ee\u6570\u636e\u3002<br \/>\n\u6700\u540e\uff0c\u6211\u4eec\u4f1a\u786e\u8ba4\u6570\u636e\u7684\u6ce8\u518c\u3002\u540c\u65f6\uff0c\u6211\u4eec\u8fd8\u4f1a\u6dfb\u52a0\u4e00\u4e2a\u8868\u5230\u5408\u5e76\u8868\u4e2d\uff0c\u4ee5\u786e\u4fdd\u65b0\u65e7\u8868\u53ef\u4ee5\u6df7\u5408\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"p\">:)<\/span> <span class=\"k\">INSERT<\/span> <span class=\"k\">INTO<\/span> <span class=\"n\">sample_table_20211202<\/span> <span class=\"k\">VALUES<\/span> \r\n  <span class=\"p\">(<\/span><span class=\"mi\">11<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'sample11'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-02'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-02T00:00:00'<\/span><span class=\"p\">)<\/span>\r\n  <span class=\"p\">,(<\/span><span class=\"mi\">12<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'sample12'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-02'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-02T00:00:00'<\/span><span class=\"p\">)<\/span>\r\n  <span class=\"p\">,(<\/span><span class=\"mi\">13<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'sample13'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-02'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-02T00:00:00'<\/span><span class=\"p\">)<\/span>\r\n  <span class=\"p\">,(<\/span><span class=\"mi\">14<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'sample14'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-02'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-02T00:00:00'<\/span><span class=\"p\">)<\/span>\r\n  <span class=\"p\">,(<\/span><span class=\"mi\">15<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'sample15'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-02'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-02T00:00:00'<\/span><span class=\"p\">)<\/span>\r\n<span class=\"p\">:)<\/span> <span class=\"k\">SELECT<\/span> <span class=\"o\">*<\/span> <span class=\"k\">FROM<\/span> <span class=\"n\">sample_table_20211202<\/span>\r\n\r\n<span class=\"err\">\u250c\u2500<\/span><span class=\"n\">id<\/span><span class=\"err\">\u2500\u252c\u2500<\/span><span class=\"n\">val<\/span><span class=\"err\">\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span><span class=\"n\">d<\/span><span class=\"err\">\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span><span class=\"n\">dt<\/span><span class=\"err\">\u2500\u2510<\/span>\r\n<span class=\"err\">\u2502<\/span>  <span class=\"mi\">6<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample6<\/span>  <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span>  <span class=\"mi\">7<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample7<\/span>  <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span>  <span class=\"mi\">8<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample8<\/span>  <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span>  <span class=\"mi\">9<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample9<\/span>  <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span> <span class=\"mi\">10<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample10<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2514\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<\/span>\r\n<span class=\"err\">\u250c\u2500<\/span><span class=\"n\">id<\/span><span class=\"err\">\u2500\u252c\u2500<\/span><span class=\"n\">val<\/span><span class=\"err\">\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span><span class=\"n\">d<\/span><span class=\"err\">\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span><span class=\"n\">dt<\/span><span class=\"err\">\u2500\u2510<\/span>\r\n<span class=\"err\">\u2502<\/span> <span class=\"mi\">11<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample11<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span> <span class=\"mi\">12<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample12<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span> <span class=\"mi\">13<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample13<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span> <span class=\"mi\">14<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample14<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span> <span class=\"mi\">15<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample15<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2514\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<\/span>\r\n\r\n<span class=\"mi\">10<\/span> <span class=\"k\">rows<\/span> <span class=\"k\">in<\/span> <span class=\"k\">set<\/span><span class=\"p\">.<\/span> <span class=\"n\">Elapsed<\/span><span class=\"p\">:<\/span> <span class=\"mi\">0<\/span><span class=\"p\">.<\/span><span class=\"mi\">013<\/span> <span class=\"n\">sec<\/span><span class=\"p\">.<\/span> \r\n<\/code><\/pre>\n<p>\u6211\u5df2\u7ecf\u6210\u529f\u5730\u6ce8\u518c\u4e86\u6570\u636e\u3002\u63a5\u4e0b\u6765\uff0c\u6211\u5c06\u521b\u5efa\u4e00\u4e2a\u8868\u683c\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"p\">:)<\/span> <span class=\"k\">CREATE<\/span> <span class=\"k\">TABLE<\/span> <span class=\"n\">sample_table_20211203<\/span><span class=\"p\">(<\/span><span class=\"n\">id<\/span> <span class=\"n\">Int32<\/span><span class=\"p\">,<\/span> <span class=\"n\">val<\/span> <span class=\"n\">String<\/span><span class=\"p\">,<\/span> <span class=\"n\">d<\/span> <span class=\"nb\">Date<\/span><span class=\"p\">,<\/span> <span class=\"n\">dt<\/span> <span class=\"nb\">DateTime<\/span><span class=\"p\">)<\/span> <span class=\"n\">ENGINE<\/span> <span class=\"o\">=<\/span> <span class=\"n\">MergeTree<\/span><span class=\"p\">(<\/span><span class=\"n\">d<\/span><span class=\"p\">,<\/span> <span class=\"p\">(<\/span><span class=\"n\">id<\/span><span class=\"p\">,<\/span> <span class=\"n\">d<\/span><span class=\"p\">),<\/span> <span class=\"mi\">8192<\/span><span class=\"p\">)<\/span>\r\n<span class=\"p\">:)<\/span> <span class=\"k\">INSERT<\/span> <span class=\"k\">INTO<\/span> <span class=\"n\">sample_table_20211203<\/span> <span class=\"k\">VALUES<\/span> \r\n  <span class=\"p\">(<\/span><span class=\"mi\">16<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'sample16'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-03'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-03T00:00:00'<\/span><span class=\"p\">)<\/span>\r\n  <span class=\"p\">,(<\/span><span class=\"mi\">17<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'sample17'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-03'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-03T00:00:00'<\/span><span class=\"p\">)<\/span>\r\n  <span class=\"p\">,(<\/span><span class=\"mi\">18<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'sample18'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-03'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-03T00:00:00'<\/span><span class=\"p\">)<\/span>\r\n  <span class=\"p\">,(<\/span><span class=\"mi\">19<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'sample19'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-03'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-03T00:00:00'<\/span><span class=\"p\">)<\/span>\r\n  <span class=\"p\">,(<\/span><span class=\"mi\">20<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'sample20'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-03'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2021-12-03T00:00:00'<\/span><span class=\"p\">)<\/span>\r\n<span class=\"p\">:)<\/span> <span class=\"k\">SELECT<\/span> <span class=\"o\">*<\/span> <span class=\"k\">FROM<\/span> <span class=\"n\">sample_table<\/span>\r\n\r\n<span class=\"err\">\u250c\u2500<\/span><span class=\"n\">id<\/span><span class=\"err\">\u2500\u252c\u2500<\/span><span class=\"n\">val<\/span><span class=\"err\">\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span><span class=\"n\">d<\/span><span class=\"err\">\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span><span class=\"n\">dt<\/span><span class=\"err\">\u2500\u2510<\/span>\r\n<span class=\"err\">\u2502<\/span> <span class=\"mi\">11<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample11<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span> <span class=\"mi\">12<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample12<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span> <span class=\"mi\">13<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample13<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span> <span class=\"mi\">14<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample14<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span> <span class=\"mi\">15<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample15<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2514\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<\/span>\r\n<span class=\"err\">\u250c\u2500<\/span><span class=\"n\">id<\/span><span class=\"err\">\u2500\u252c\u2500<\/span><span class=\"n\">val<\/span><span class=\"err\">\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span><span class=\"n\">d<\/span><span class=\"err\">\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span><span class=\"n\">dt<\/span><span class=\"err\">\u2500\u2510<\/span>\r\n<span class=\"err\">\u2502<\/span> <span class=\"mi\">16<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample16<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">03<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">03<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span> <span class=\"mi\">17<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample17<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">03<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">03<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span> <span class=\"mi\">18<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample18<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">03<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">03<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span> <span class=\"mi\">19<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample19<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">03<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">03<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span> <span class=\"mi\">20<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample20<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">03<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">03<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2514\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<\/span>\r\n<span class=\"err\">\u250c\u2500<\/span><span class=\"n\">id<\/span><span class=\"err\">\u2500\u252c\u2500<\/span><span class=\"n\">val<\/span><span class=\"err\">\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span><span class=\"n\">d<\/span><span class=\"err\">\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span><span class=\"n\">dt<\/span><span class=\"err\">\u2500\u2510<\/span>\r\n<span class=\"err\">\u2502<\/span>  <span class=\"mi\">6<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample6<\/span>  <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span>  <span class=\"mi\">7<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample7<\/span>  <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span>  <span class=\"mi\">8<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample8<\/span>  <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span>  <span class=\"mi\">9<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample9<\/span>  <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span> <span class=\"mi\">10<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample10<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">02<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2514\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<\/span>\r\n<span class=\"err\">\u250c\u2500<\/span><span class=\"n\">id<\/span><span class=\"err\">\u2500\u252c\u2500<\/span><span class=\"n\">val<\/span><span class=\"err\">\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span><span class=\"n\">d<\/span><span class=\"err\">\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span><span class=\"n\">dt<\/span><span class=\"err\">\u2500\u2510<\/span>\r\n<span class=\"err\">\u2502<\/span>  <span class=\"mi\">1<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample1<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">01<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">01<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span>  <span class=\"mi\">2<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample2<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">01<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">01<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span>  <span class=\"mi\">3<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample3<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">01<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">01<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span>  <span class=\"mi\">4<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample4<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">01<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">01<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2502<\/span>  <span class=\"mi\">5<\/span> <span class=\"err\">\u2502<\/span> <span class=\"n\">sample5<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">01<\/span> <span class=\"err\">\u2502<\/span> <span class=\"mi\">2021<\/span><span class=\"o\">-<\/span><span class=\"mi\">12<\/span><span class=\"o\">-<\/span><span class=\"mi\">01<\/span> <span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span><span class=\"p\">:<\/span><span class=\"mi\">00<\/span> <span class=\"err\">\u2502<\/span>\r\n<span class=\"err\">\u2514\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<\/span>\r\n\r\n<span class=\"mi\">20<\/span> <span class=\"k\">rows<\/span> <span class=\"k\">in<\/span> <span class=\"k\">set<\/span><span class=\"p\">.<\/span> <span class=\"n\">Elapsed<\/span><span class=\"p\">:<\/span> <span class=\"mi\">0<\/span><span class=\"p\">.<\/span><span class=\"mi\">023<\/span> <span class=\"n\">sec<\/span><span class=\"p\">.<\/span> \r\n<\/code><\/pre>\n<p>\u6570\u636e\u7684\u6dfb\u52a0\u6ca1\u6709\u95ee\u9898\u3002\u53ef\u4ee5\u4f7f\u7528\u65e7\u7684CREATE TABLE\u8bed\u6cd5\u8fdb\u884c\u8868\u7684\u521b\u5efa\uff0c\u4f46\u662f\u8003\u8651\u5230\u8fd9\u79cd\u8bed\u6cd5\u5df2\u7ecf\u88ab\u5f03\u7528\u591a\u5e74\u4e86\uff0c\u6240\u4ee5\u5efa\u8bae\u8fdb\u884c\u4fee\u6b63\u3002<\/p>\n<p>\u5982\u679c\u4ec5\u4ec5\u4f7f\u7528MergeTree\u5f15\u64ce\uff0c\u6839\u636e\u6211\u6240\u89c1\uff0c\u4ece\u7248\u672c1.1.54343\u5347\u7ea7\u523021.10\u4f3c\u4e4e\u6ca1\u6709\u4efb\u4f55\u95ee\u9898\u3002<\/p>\n<h2>\u4e0d\u517c\u5bb9\u7684\u53d8\u66f4\uff0c\u5347\u7ea7\u6ce8\u610f\u4e8b\u9879<\/h2>\n<p>\u4ee5\u4e0b\u662f\u4ece\u5b98\u65b9\u6587\u6863\u4e2d\u7b5b\u9009\u51fa\u7684\u4ec5\u5305\u542b\u4e0d\u517c\u5bb9\u53d8\u66f4\u7684\u5185\u5bb9\u5217\u8868\u3002\u8fd9\u662f\u4e00\u4e2a\u6211\u4e2a\u4eba\u4f7f\u7528\u7684\u5907\u5fd8\u5f55\uff0c\u6211\u4e0d\u60f3\u9010\u4e2a\u68c0\u67e5\u5927\u91cf\u7684Changelog\u3002<\/p>\n<p>&nbsp;<\/p>\n<h3>2023\u5e7411\u67082\u65e5\uff0c\u4e5f\u5c31\u662f2023\u5e7410\u670823\u65e5\u3002<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">There is no longer an option to automatically remove broken data parts. This closes #55174. #55184 (Alexey Milovidov). #55557 (Jihyuk Bok).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">The obsolete in-memory data parts can no longer be read from the write-ahead log. If you have configured in-memory parts before, they have to be removed before the upgrade. #55186 (Alexey Milovidov).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Remove the integration with Meilisearch. Reason: it was compatible only with the old version 0.18. The recent version of Meilisearch changed the protocol and does not work anymore. Note: we would appreciate it if you help to return it back. #55189 (Alexey Milovidov).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Rename directory monitor concept into background INSERT. All the settings directory_monitor had been renamed to distributed_background_insert*. Backward compatibility should be preserved (since old settings had been added as an alias). #55978 (Azat Khuzhin).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Do not interpret the send_timeout set on the client side as the receive_timeout on the server side and vise-versa. #56035 (Azat Khuzhin).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Comparison of time intervals with different units will throw an exception. This closes #55942. You might have occasionally rely on the previous behavior when the underlying numeric values were compared regardless of the units. #56090 (Alexey Milovidov).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">Rewrited the experimental S3Queue table engine completely: changed the way we keep information in zookeeper which allows to make less zookeeper requests, added caching of zookeeper state in cases when we know the state will not change, improved the polling from s3 process to make it less aggressive, changed the way ttl and max set for trached files is maintained, now it is a background process. Added system.s3queue and system.s3queue_log tables. Closes #54998. #54422 (Kseniia Sumarokova).<\/ul>\n<h3>2023\u5e749\u670828\u65e5\uff0c23.9<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Remove the status_info configuration option and dictionaries status from the default Prometheus handler. #54090 (Alexey Milovidov).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">The experimental parts metadata cache is removed from the codebase. #54215 (Alexey Milovidov).<\/ul>\n<h3>23.8 \u957f\u671f\u652f\u6301\u7248\uff0c\u6709\u6548\u671f\u81f3 2023 \u5e74 8 \u6708 31 \u65e5\u3002<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">If a dynamic disk contains a name, it should be specified as disk = disk(name = &#8216;disk_name&#8217;, &#8230;) in disk function arguments. In previous version it could be specified as disk = disk_(&#8230;), which is no longer supported. #52820 (Kseniia Sumarokova).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">clickhouse-benchmark will establish connections in parallel when invoked with &#8211;concurrency more than one. Previously it was unusable if you ran it with 1000 concurrent connections from Europe to the US. Correct calculation of QPS for connections with high latency. Backward incompatible change: the option for JSON output of clickhouse-benchmark is removed. If you&#8217;ve used this option, you can also extract data from the system.query_log in JSON format as a workaround. #53293 (Alexey Milovidov).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">The microseconds column is removed from the system.text_log, and the milliseconds column is removed from the system.metric_log, because they are redundant in the presence of the event_time_microseconds column. #53601 (Alexey Milovidov).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Deprecate the metadata cache feature. It is experimental and we have never used it. The feature is dangerous: #51182. Remove the system.merge_tree_metadata_cache system table. The metadata cache is still available in this version but will be removed soon. This closes #39197. #51303 (Alexey Milovidov).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">Disable support for 3DES in TLS connections. #52893 (Kenji Noguchi).<\/ul>\n<h3>2023\u5e747\u670827\u65e5\uff0c23.7<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Add NAMED COLLECTION access type (aliases USE NAMED COLLECTION, NAMED COLLECTION USAGE). This PR is backward incompatible because this access type is disabled by default (because a parent access type NAMED COLLECTION ADMIN is disabled by default as well). Proposed in #50277. To grant use GRANT NAMED COLLECTION ON collection_name TO user or GRANT NAMED COLLECTION ON * TO user, to be able to give these grants named_collection_admin is required in config (previously it was named named_collection_control, so will remain as an alias). #50625 (Kseniia Sumarokova).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Fixing a typo in the system.parts column name last_removal_attemp_time. Now it is named last_removal_attempt_time. #52104 (filimonov).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Bump version of the distributed_ddl_entry_format_version to 5 by default (enables opentelemetry and initial_query_idd pass through). This will not allow to process existing entries for distributed DDL after downgrade (but note, that usually there should be no such unprocessed entries). #52128 (Azat Khuzhin).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Check projection metadata the same way we check ordinary metadata. This change may prevent the server from starting in case there was a table with an invalid projection. An example is a projection that created positional columns in PK (e.g. projection p (select * order by 1, 4) which is not allowed in table PK and can cause a crash during insert\/merge). Drop such projections before the update. Fixes #52353. #52361 (Nikolai Kochetov).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">The experimental feature hashid is removed due to a bug. The quality of implementation was questionable at the start, and it didn&#8217;t get through the experimental status. This closes #52406. #52449 (Alexey Milovidov).<\/ul>\n<h3>2023\u5e746\u670829\u65e5\uff0c23.6<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Delete feature do_not_evict_index_and_mark_files in the fs cache. This feature was only making things worse. #51253 (Kseniia Sumarokova).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Remove ALTER support for experimental LIVE VIEW. #51287 (Alexey Milovidov).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Decrease the default values for http_max_field_value_size and http_max_field_name_size to 128 KiB. #51163 (Mikhail f. Shiryaev).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">CGroups metrics related to CPU are replaced with one metric, CGroupMaxCPU for better usability. The Normalized CPU usage metrics will be normalized to CGroups limits instead of the total number of CPUs when they are set. This closes #50836. #50835 (Alexey Milovidov).<\/ul>\n<h3>2023\u5e746\u67088\u65e5\uff0c23\u70b930\u5206<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Compress marks and primary key by default. It significantly reduces the cold query time. Upgrade notes: the support for compressed marks and primary key has been added in version 22.9. If you turned on compressed marks or primary key or installed version 23.5 or newer, which has compressed marks or primary key on by default, you will not be able to downgrade to version 22.8 or earlier. You can also explicitly disable compressed marks or primary keys by specifying the compress_marks and compress_primary_key settings in the section of the server configuration file. Upgrade notes: If you upgrade from versions prior to 22.9, you should either upgrade all replicas at once or disable the compression before upgrade, or upgrade through an intermediate version, where the compressed marks are supported but not enabled by default, such as 23.3. #42587 (Alexey Milovidov).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Make local object storage work consistently with s3 object storage, fix problem with append (closes #48465), make it configurable as independent storage. The change is backward incompatible because the cache on top of local object storage is not compatible to previous versions. #48791 (Kseniia Sumarokova).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">The experimental feature &#8220;in-memory data parts&#8221; is removed. The data format is still supported, but the settings are no-op, and compact or wide parts will be used instead. This closes #45409. #49429 (Alexey Milovidov).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Changed default values of settings parallelize_output_from_storages and input_format_parquet_preserve_order. This allows ClickHouse to reorder rows when reading from files (e.g. CSV or Parquet), greatly improving performance in many cases. To restore the old behavior of preserving order, use parallelize_output_from_storages = 0, input_format_parquet_preserve_order = 1. #49479 (Michael Kolupaev).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Make projections production-ready. Add the optimize_use_projections setting to control whether the projections will be selected for SELECT queries. The setting allow_experimental_projection_optimization is obsolete and does nothing. #49719 (Alexey Milovidov).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Mark joinGet as non-deterministic (so as dictGet). It allows using them in mutations without an extra setting. #49843 (Azat Khuzhin).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Revert the &#8220;groupArray returns cannot be nullable&#8221; change (due to binary compatibility breakage for groupArray\/groupArrayLast\/groupArraySample over Nullable types, which likely will lead to TOO_LARGE_ARRAY_SIZE or CANNOT_READ_ALL_DATA). #49971 (Azat Khuzhin).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">Setting enable_memory_bound_merging_of_aggregation_results is enabled by default. If you update from version prior to 22.12, we recommend to set this flag to false until update is finished. #50319 (Nikita Taranov).<\/ul>\n<h3>2023\u5e744\u670826\u65e5\u3002<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Formatter &#8216;%M&#8217; in function formatDateTime() now prints the month name instead of the minutes. This makes the behavior consistent with MySQL. The previous behavior can be restored using setting &#8220;formatdatetime_parsedatetime_m_is_month_name = 0&#8221;. #47246 (Robert Schulze).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">This change makes sense only if you are using the virtual filesystem cache. If path in the virtual filesystem cache configuration is not empty and is not an absolute path, then it will be put in \/caches\/. #48784 (Kseniia Sumarokova).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">Primary\/secondary indices and sorting keys with identical expressions are now rejected. This behavior can be disabled using setting allow_suspicious_indices. #48536 (\u51cc\u6d9b).<\/ul>\n<h3>23.3 \u957f\u671f\u652f\u6301\u7248\uff0c2023\u5e743\u670830\u65e5<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Lightweight DELETEs are production ready and enabled by default. The DELETE query for MergeTree tables is now available by default.<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">The behavior of domainRFC and netloc functions is slightly changed: relaxed the set of symbols that are allowed in the URL authority for better conformance. #46841 (Azat Khuzhin).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Prohibited creating tables based on KafkaEngine with DEFAULT\/EPHEMERAL\/ALIAS\/MATERIALIZED statements for columns. #47138 (Aleksandr Musorin).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">An &#8220;asynchronous connection drain&#8221; feature is removed. Related settings and metrics are removed as well. It was an internal feature, so the removal should not affect users who had never heard about that feature. #47486 (Alexander Tokmakov).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Support 256-bit Decimal data type (more than 38 digits) in arraySum\/Min\/Max\/Avg\/Product, arrayCumSum\/CumSumNonNegative, arrayDifference, array construction, IN operator, query parameters, groupArrayMovingSum, statistical functions, min\/max\/any\/argMin\/argMax, PostgreSQL wire protocol, MySQL table engine and function, sumMap, mapAdd, mapSubtract, arrayIntersect. Add support for big integers in arrayIntersect. Statistical aggregate functions involving moments (such as corr or various TTests) will use Float64 as their internal representation (they were using Decimal128 before this change, but it was pointless), and these functions can return nan instead of inf in case of infinite variance. Some functions were allowed on Decimal256 data types but returned Decimal128 in previous versions &#8211; now it is fixed. This closes #47569. This closes #44864. This closes #28335. #47594 (Alexey Milovidov).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Make backup_threads\/restore_threads server settings (instead of user settings). #47881 (Azat Khuzhin).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">Do not allow const and non-deterministic secondary indices #46839 (Anton Popov).<\/ul>\n<h3>2023\u5e742\u670823\u65e5<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Extend function &#8220;toDayOfWeek()&#8221; (alias: &#8220;DAYOFWEEK&#8221;) with a mode argument that encodes whether the week starts on Monday or Sunday and whether counting starts at 0 or 1. For consistency with other date time functions, the mode argument was inserted between the time and the time zone arguments. This breaks existing usage of the (previously undocumented) 2-argument syntax &#8220;toDayOfWeek(time, time_zone)&#8221;. A fix is to rewrite the function into &#8220;toDayOfWeek(time, 0, time_zone)&#8221;. #45233 (Robert Schulze).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Rename setting max_query_cache_size to filesystem_cache_max_download_size. #45614 (Kseniia Sumarokova).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">The default user will not have permissions for access type SHOW NAMED COLLECTION by default (e.g. default user will no longer be able to grant ALL to other users as it was before, therefore this PR is backward incompatible). #46010 (Kseniia Sumarokova).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">If the SETTINGS clause is specified before the FORMAT clause, the settings will be applied to formatting as well. #46003 (Azat Khuzhin).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Remove support for setting materialized_postgresql_allow_automatic_update (which was by default turned off). #46106 (Kseniia Sumarokova).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Slightly improve performance of countDigits on realistic datasets. This closed #44518. In previous versions, countDigits(0) returned 0; now it returns 1, which is more correct, and follows the existing documentation. #46187 (Alexey Milovidov).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">Disallow creation of new columns compressed by a combination of codecs &#8220;Delta&#8221; or &#8220;DoubleDelta&#8221; followed by codecs &#8220;Gorilla&#8221; or &#8220;FPC&#8221;. This can be bypassed using setting &#8220;allow_suspicious_codecs = true&#8221;. #45652 (Robert Schulze).<\/ul>\n<h3>2023\u5e741\u670826\u65e5\uff0c\u9019\u662f23.1.<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">The SYSTEM RESTART DISK query becomes a no-op. #44647 (alesapin).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">The PREALLOCATE option for HASHED\/SPARSE_HASHED dictionaries becomes a no-op. #45388 (Azat Khuzhin). It does not give significant advantages anymore.<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Disallow Gorilla codec on columns of non-Float32 or non-Float64 type. #45252 (Robert Schulze). It was pointless and led to inconsistencies.<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Parallel quorum inserts might work incorrectly with *MergeTree tables created with the deprecated syntax. Therefore, parallel quorum inserts support is completely disabled for such tables. It does not affect tables created with a new syntax. #45430 (Alexander Tokmakov).<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Use the GetObjectAttributes request instead of the HeadObject request to get the size of an object in AWS S3. This change fixes handling endpoints without explicit regions after updating the AWS SDK, for example. #45288 (Vitaly Baranov). AWS S3 and Minio are tested, but keep in mind that various S3-compatible services (GCS, R2, B2) may have subtle incompatibilities. This change also may require you to adjust the ACL to allow the GetObjectAttributes request.<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">Forbid paths in timezone names. For example, a timezone name like \/usr\/share\/zoneinfo\/Asia\/Aden is not allowed; the IANA timezone database name like Asia\/Aden should be used. #44225 (Kruglov Pavel).<\/ul>\n<details>2022\u5e742022\u5e7412\u670822\u65e5\uff0c2022\u5e7412\u670815\u65e5<\/p>\n<p>\u4fee\u590d\u4e86\u4f7f\u7528\u5b57\u7b26\u4e32\u53c2\u6570\u7684min\uff0cmax\uff0cany*\uff0cargMin\uff0cargMax\u805a\u5408\u51fd\u6570\u5728\u72b6\u6001\u5e8f\u5217\u5316\u548c\u53cd\u5e8f\u5217\u5316\u65f6\u7684\u5411\u540e\u4e0d\u517c\u5bb9\u95ee\u9898\u3002\u8fd9\u4e2a\u4e0d\u517c\u5bb9\u6027\u5f71\u54cd\u523022.9\uff0c22.10\u548c22.11\u5206\u652f\uff08\u5206\u522b\u4ece22.9.6\u300122.10.4\u548c22.11.2\u7248\u672c\u5f00\u59cb\u4fee\u590d\uff09\u3002\u90e8\u520622.3\u300122.7\u548c22.8\u5206\u652f\u7684\u6b21\u8981\u7248\u672c\u4e5f\u53d7\u5230\u5f71\u54cd\uff1a22.3.13&#8230;22.3.14\uff08\u4ece22.3.15\u7248\u672c\u5f00\u59cb\u4fee\u590d\uff09\uff0c22.8.6&#8230;22.8.9\uff08\u4ece22.8.10\u7248\u672c\u5f00\u59cb\u4fee\u590d\uff09\uff0c22.7.6\u53ca\u66f4\u65b0\u7248\u672c\uff08\u572822.7\u7248\u672c\u4e2d\u4e0d\u4f1a\u4fee\u590d\uff0c\u5efa\u8bae\u5347\u7ea7\u523022.8.10\u6216\u66f4\u65b0\u7248\u672c\uff09\u3002\u8fd9\u4e2a\u7248\u672c\u8bf4\u660e\u4e0d\u6d89\u53ca\u4ece\u672a\u4f7f\u7528\u8fc7\u53d7\u5f71\u54cd\u7248\u672c\u7684\u7528\u6237\u3002\u4e0d\u517c\u5bb9\u7248\u672c\u5728\u8bfb\u53d6\u4e0a\u8ff0\u805a\u5408\u51fd\u6570\u72b6\u6001\u65f6\uff0c\u4f1a\u5728\u5b57\u7b26\u4e32\u672b\u5c3e\u9644\u52a0\u4e00\u4e2a\u989d\u5916\u7684&#8217;\\0&#8217;\u5b57\u7b26\u3002\u4f8b\u5982\uff0c\u5982\u679c\u65e7\u7248\u672c\u5c06anyState(&#8216;foobar&#8217;)\u7684\u72b6\u6001\u4fdd\u5b58\u5230state_column\u4e2d\uff0c\u4e0d\u517c\u5bb9\u7684\u7248\u672c\u5728anyMerge(state_column)\u4e2d\u4f1a\u8f93\u51fa&#8217;foobar\\0&#8217;\u3002\u540c\u65f6\uff0c\u4e0d\u517c\u5bb9\u7684\u7248\u672c\u5728\u5199\u5165\u805a\u5408\u51fd\u6570\u7684\u72b6\u6001\u65f6\u4e0d\u4f1a\u5728\u672b\u5c3e\u6dfb\u52a0&#8217;\\0&#8217;\u5b57\u7b26\u3002\u65b0\u7248\u672c\uff08\u5df2\u4fee\u590d\u8be5\u95ee\u9898\uff09\u53ef\u4ee5\u6b63\u786e\u5730\u8bfb\u53d6\u6240\u6709\u7248\u672c\u7684\u6570\u636e\uff0c\u5305\u62ec\u4e0d\u517c\u5bb9\u7248\u672c\uff0c\u4f46\u6709\u4e00\u4e2a\u7279\u6b8a\u60c5\u51b5\u9664\u5916\u3002\u5982\u679c\u4e0d\u517c\u5bb9\u7248\u672c\u4fdd\u5b58\u4e86\u4ee5null\u5b57\u7b26\u7ed3\u5c3e\u7684\u5b57\u7b26\u4e32\u72b6\u6001\uff0c\u90a3\u4e48\u65b0\u7248\u672c\u5728\u8bfb\u53d6\u53d7\u5f71\u54cd\u7684\u805a\u5408\u51fd\u6570\u72b6\u6001\u65f6\u4f1a\u5220\u9664\u7ed3\u5c3e\u7684&#8217;\\0&#8217;\u5b57\u7b26\u3002\u4f8b\u5982\uff0c\u5982\u679c\u4e0d\u517c\u5bb9\u7248\u672c\u5c06anyState(&#8216;abrac\\0dabra\\0&#8217;)\u7684\u72b6\u6001\u4fdd\u5b58\u5230state_column\u4e2d\uff0c\u65b0\u7248\u672c\u4f1a\u5728anyMerge(state_column)\u4e2d\u8f93\u51fa&#8217;abrac\\0dabra&#8217;\u3002\u8fd9\u4e2a\u95ee\u9898\u4e5f\u4f1a\u5f71\u54cd\u5230\u5728\u96c6\u7fa4\u4e2d\u4f7f\u7528\u4e0d\u517c\u5bb9\u7248\u672c\u4e0e\u65e7\u7248\u672c\u6216\u65b0\u7248\u672c\u5171\u540c\u5de5\u4f5c\u65f6\u7684\u5206\u5e03\u5f0f\u67e5\u8be2\u3002\uff0343038\uff08Alexander Tokmakov\uff0c \uff09\u3002\u6ce8\u610f\uff1a\u6240\u6709\u5b98\u65b9\u7684ClickHouse\u6784\u5efa\u7248\u672c\u90fd\u5df2\u5305\u542b\u4e86\u8fd9\u4e9b\u8865\u4e01\u3002\u975e\u5b98\u65b9\u7684\u7b2c\u4e09\u65b9\u6784\u5efa\u7248\u672c\u4e0d\u4e00\u5b9a\u5305\u542b\u8fd9\u4e9b\u8865\u4e01\uff0c\u5efa\u8bae\u907f\u514d\u4f7f\u7528\u8fd9\u4e9b\u975e\u5b98\u65b9\u6784\u5efa\u7248\u672c\u3002<\/p>\n<p>2022\u5e7411\u670822\u65e5\uff0c2022\u5e7411\u670817\u65e5<\/p>\n<p>JSONExtract\u51fd\u6570\u65cf\u73b0\u5728\u5c06\u5c1d\u8bd5\u5f3a\u5236\u8f6c\u6362\u4e3a\u8bf7\u6c42\u7684\u7c7b\u578b\u3002\uff0341502\uff08 Martins\uff09\u3002<\/p>\n<p>2022\u5e7410\u670822\u65e5\uff0c2022\u5e7410\u670825\u65e5<\/p>\n<p>\u91cd\u547d\u540d\u7f13\u5b58\u547d\u4ee4\uff1ashow caches -&gt; show filesystem caches, describe cache -&gt; describe filesystem cache\u3002\uff0341508\uff08Kseniia Sumarokova\uff09\u3002<br \/>\n\u5220\u9664LIVE VIEW\u7684WITH TIMEOUT\u90e8\u5206\u7684\u652f\u6301\u3002\uff0340557\u3002\uff0342173\uff08Alexey Milovidov\uff09\u3002<br \/>\n\u5220\u9664\u5ba2\u6237\u7aef\u63d0\u793a\u7b26\u4e2d\u7684{database}\u5b8f\u3002\u5982\u679c\u6570\u636e\u5e93\u672a\u6307\u5b9a\uff0c\u5e76\u4e14\u5728USE\u8bed\u53e5\u4e0a\u672a\u8fdb\u884c\u66f4\u65b0\uff0c\u5b83\u5c06\u663e\u793a\u4e0d\u6b63\u786e\u3002\uff0325891\u3002\uff0342508\uff08Alexey Milovidov\uff09\u3002<\/p>\n<p>2022\u5e749\u670822\u65e5\uff0c2022\u5e749\u670822\u65e5<\/p>\n<p>\u5982\u679c\u5b58\u5728\u4efb\u4f55ReplicatedMergeTree\u8868\uff0c\u5219\u4ece20.3\u548c\u66f4\u65e7\u7248\u672c\u5347\u7ea7\u523022.9\u548c\u66f4\u65b0\u7248\u672c\u5fc5\u987b\u901a\u8fc7\u4e00\u4e2a\u4e2d\u95f4\u7248\u672c\u5b8c\u6210\uff0c\u5426\u5219\u65b0\u7248\u672c\u7684\u670d\u52a1\u5668\u5c06\u65e0\u6cd5\u542f\u52a8\u3002\uff0340641\uff08Alexander Tokmakov\uff09\u3002<br \/>\n\u5220\u9664accurate_Cast\u548caccurate_CastOrNull\u51fd\u6570\uff08\u5b83\u4eec\u4e0eaccurateCast\u548caccurateCastOrNull\u51fd\u6570\u7684\u540d\u79f0\u4e2d\u7684\u4e0b\u5212\u7ebf\u4e0d\u540c\uff0c\u5e76\u4e14\u4e0d\u53d7cast_keep_nullable\u8bbe\u7f6e\u7684\u5f71\u54cd\uff09\u3002\u8fd9\u4e9b\u51fd\u6570\u662f\u672a\u6587\u6863\u5316\u7684\uff0c\u672a\u7ecf\u6d4b\u8bd5\u7684\uff0c\u672a\u4f7f\u7528\u7684\uff0c\u4e5f\u662f\u4e0d\u9700\u8981\u7684\u3002\u5b83\u4eec\u4f3c\u4e4e\u56e0\u4e3a\u4ee3\u7801\u7684\u6cdb\u5316\u800c\u751f\u5b58\u4e0b\u6765\u7684\u3002\uff0340682\uff08Alexey Milovidov\uff09\u3002<br \/>\n\u6dfb\u52a0\u4e00\u4e2a\u6d4b\u8bd5\u4ee5\u786e\u4fdd\u6bcf\u4e2a\u65b0\u8868\u51fd\u6570\u90fd\u80fd\u88ab\u6587\u6863\u5316\u3002\u8bf7\u53c2\u89c1\uff0340649\u3002\u5c06\u8868\u51fd\u6570MeiliSearch\u91cd\u547d\u540d\u4e3ameilisearch\u3002\uff0340709\uff08Alexey Milovidov\uff09\u3002<br \/>\n\u6dfb\u52a0\u4e00\u4e2a\u6d4b\u8bd5\u4ee5\u786e\u4fdd\u6bcf\u4e2a\u65b0\u51fd\u6570\u90fd\u80fd\u88ab\u6587\u6863\u5316\u3002\u8bf7\u53c2\u89c1\uff0340649\u3002lemmatize\uff0csynonyms\uff0cstem\u51fd\u6570\u662f\u56e0\u4e3a\u9519\u8bef\u800c\u533a\u5206\u5927\u5c0f\u5199\u3002\u73b0\u5728\u5b83\u4eec\u662f\u5927\u5c0f\u5199\u654f\u611f\u7684\u3002\uff0340711\uff08Alexey Milovidov\uff09\u3002<br \/>\n\u4f7fYAML\u914d\u7f6e\u7684\u89e3\u91ca\u66f4\u52a0\u5e38\u89c4\u5316\u3002\uff0341044\uff08Vitaly Baranov\uff09\u3002<\/p>\n<p>2022\u5e748\u670822\u65e5\uff0c2022\u5e748\u670818\u65e5<\/p>\n<p>\u6269\u5c55Date32\u548cDateTime64\u7684\u8303\u56f4\uff0c\u4ee5\u652f\u6301\u4ece1900\u5e74\u52302299\u5e74\u7684\u65e5\u671f\u3002\u5728\u4e4b\u524d\u7684\u7248\u672c\u4e2d\uff0c\u652f\u6301\u7684\u65f6\u95f4\u8303\u56f4\u4ec5\u4e3a1925\u5e74\u52302283\u5e74\u3002\u8be5\u5b9e\u73b0\u4f7f\u7528\u4e86\u516c\u5386\uff08\u7b26\u5408ISO 8601:2004\uff08\u7b2c3.2.1\u8282\u516c\u5386\uff09\uff09\u800c\u4e0d\u662f\u8003\u8651\u4ece\u5112\u7565\u5386\u5230\u516c\u5386\u7684\u5386\u53f2\u8f6c\u53d8\u3002\u6b64\u66f4\u6539\u5f71\u54cd\u4e86\u8d85\u51fa\u8303\u56f4\u53c2\u6570\u7684\u5177\u4f53\u5b9e\u73b0\u884c\u4e3a\u3002\u4f8b\u5982\uff0c\u5982\u679c\u5728\u65e7\u7248\u672c\u4e2d\uff0c1899-01-01\u7684\u503c\u88ab\u622a\u65ad\u4e3a1925-01-01\uff0c\u5219\u5728\u65b0\u7248\u672c\u4e2d\u5b83\u5c06\u88ab\u622a\u65ad\u4e3a1900-01-01\u3002\u5982\u679c\u4f7f\u7528\u7684\u662fINTERVAL 3 QUARTER\uff0c\u5e76\u4e14\u5305\u542b\u4e00\u4e2a\u5b63\u5ea6\u7684\u60c5\u51b5\u4e0b\uff0c\u8fd9\u5c06\u6539\u53d8toStartOfInterval\u7684\u820d\u5165\u884c\u4e3a\uff0c\u56e0\u4e3a\u95f4\u9694\u662f\u4ece\u7279\u5b9a\u65f6\u95f4\u70b9\u5f00\u59cb\u8ba1\u7b97\u7684\u3002\u5173\u95ed\uff0328216, \u6539\u8fdb\uff0338393\u3002\uff0339425\uff08Roman Vasin\uff09\u3002<br \/>\n\u73b0\u5728\uff0c\u6240\u6709\u76f8\u5173\u7684\u5b57\u5178\u6e90<\/p>\n<\/details>\n<details>2011\u5e74v21.12\uff0c2021-12-15<\/p>\n<p>\u4fee\u590d\u4e86\u5148\u524d\u5b58\u5728\u7684\u4e00\u4e2a\u529f\u80fd\u95ee\u9898\u3002\u7981\u6b62Kafka\/RabbitMQ\/FileLog\u7684\u76f4\u63a5\u9009\u62e9\u3002\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6estream_like_engine_allow_direct_select\u6765\u542f\u7528\u3002\u5373\u4f7f\u88ab\u8bbe\u7f6e\u542f\u7528\uff0c\u4e5f\u4e0d\u5141\u8bb8\u76f4\u63a5\u9009\u62e9\uff0c\u4ee5\u9632\u9644\u6709\u6750\u6599\u5316\u89c6\u56fe\u3002\u5bf9\u4e8e\u5141\u8bb8\u7684Kafka\u548cRabbitMQ\u7684\u76f4\u63a5\u9009\u62e9\uff0c\u9ed8\u8ba4\u60c5\u51b5\u4e0b\u4e0d\u4f1a\u63d0\u4ea4\u6d88\u606f\u3002\u8981\u542f\u7528\u76f4\u63a5\u9009\u62e9\u7684\u63d0\u4ea4\uff0c\u7528\u6237\u5fc5\u987b\u4f7f\u7528\u5b58\u50a8\u7ea7\u522b\u8bbe\u7f6ekafka{rabbitmq}_commit_on_select=1(\u9ed8\u8ba4\u4e3a0)\u3002#31053 (Kseniia Sumarokova)\u3002<br \/>\n\u5bf9\u65b0\u529f\u80fd\u7684\u884c\u4e3a\u505a\u4e86\u8f7b\u5fae\u66f4\u6539\u3002\u5728JSON_VALUE\u4e2d\u8fd4\u56de\u975e\u5f15\u7528\u5b57\u7b26\u4e32\u3002\u5173\u95ed\uff0327965\u3002\uff0331008 (Kseniia Sumarokova)\u3002<br \/>\n\u66f4\u6539\u8bbe\u7f6e\u540d\u79f0\u3002\u4e3aTSV\/CSV\u8f93\u5165\u683c\u5f0f\u6dfb\u52a0\u81ea\u5b9a\u4e49\u7a7a\u8868\u793a\u652f\u6301\u3002\u4fee\u590dTSV\/CSV\/JSONCompactStringsEachRow\/JSONStringsEachRow\u8f93\u5165\u683c\u5f0f\u4e2dNullable(String)\u7684\u53cd\u5e8f\u5217\u5316\u95ee\u9898\u3002\u76f8\u5e94\u5730\u5c06output_format_csv_null_representation\u548coutput_format_tsv_null_representation\u91cd\u547d\u540d\u4e3aformat_csv_null_representation\u548cformat_tsv_null_representation\u3002#30497 (Kruglov Pavel)\u3002<br \/>\n\u8fdb\u4e00\u6b65\u5e9f\u5f03\u5df2\u4e0d\u518d\u4f7f\u7528\u7684\u4ee3\u7801\u3002\u8fd9\u4ec5\u9002\u7528\u4e8eClickHouse 20.6\u4e4b\u524d\u7684\u7248\u672c\u7528\u6237\u3002ReplicatedMergeTree\u4e2d\u7684\u201c\u9886\u5bfc\u9009\u4e3e\u201d\u673a\u5236\u5df2\u88ab\u5220\u9664\uff0c\u56e0\u4e3a20.6\u7248\u672c\u540e\u652f\u6301\u591a\u4e2a\u9886\u5bfc\u8005\u3002\u5982\u679c\u60a8\u6b63\u5728\u4ece\u8f83\u65e7\u7684\u7248\u672c\u5347\u7ea7\uff0c\u5e76\u4e14\u67d0\u4e2a\u5177\u6709\u65e7\u7248\u672c\u7684\u526f\u672c\u662f\u9886\u5bfc\u8005\uff0c\u5219\u670d\u52a1\u5668\u5728\u5347\u7ea7\u540e\u5c06\u65e0\u6cd5\u542f\u52a8\u3002\u505c\u6b62\u4f7f\u7528\u65e7\u7248\u7684\u526f\u672c\u4ee5\u542f\u52a8\u65b0\u7248\u3002\u4e4b\u540e\u5c06\u65e0\u6cd5\u964d\u7ea7\u523020.6\u7248\u672c\u4e4b\u524d\u7684\u7248\u672c\u3002\uff0332140 (tavplubix)\u3002<\/p>\n<\/details>\n<details>2010\u5e74v20.12.3.3-stable, 2020-12-13<\/p>\n<p>\u9ed8\u8ba4\u542f\u7528use_compact_format_in_distributed_parts_names\uff08\u8bf7\u53c2\u9605\u6587\u6863\uff09\u3002#16728\uff08Azat Khuzhin\uff09\u3002<br \/>\n\u5728\u521b\u5efa\u4f7f\u7528File\u5f15\u64ce\u7684\u8868\u65f6\uff0c\u5728SETTINGS\u5b50\u53e5\u4e2d\u63a5\u53d7\u4e0e\u6587\u4ef6\u683c\u5f0f\u76f8\u5173\u7684\u7528\u6237\u8bbe\u7f6e\uff08\u4f8b\u5982format_csv_delimiter\uff09\uff0c\u5e76\u5728\u6240\u6709INSERT\u548cSELECT\u64cd\u4f5c\u4e2d\u4f7f\u7528\u8fd9\u4e9b\u8bbe\u7f6e\u3002\u5f53\u524d\u7528\u6237\u4f1a\u8bdd\u4e2d\u66f4\u6539\u7684\u6587\u4ef6\u683c\u5f0f\u8bbe\u7f6e\u6216DML\u67e5\u8be2\u672c\u8eab\u7684SETTINGS\u5b50\u53e5\u4e0d\u518d\u5f71\u54cd\u67e5\u8be2\u3002#16591\uff08Alexander Kuzmenkov\uff09\u3002<\/p>\n<p>v20.11.2.1, 2020-11-11<\/p>\n<p>\u5982\u679c\u5728distributed_ddl\u914d\u7f6e\u90e8\u5206\u4e2d\u6307\u5b9a\u4e86\u67d0\u4e2a\u914d\u7f6e\u6587\u4ef6\uff0c\u5219\u6b64\u914d\u7f6e\u6587\u4ef6\u53ef\u4ee5\u5728\u670d\u52a1\u5668\u542f\u52a8\u65f6\u8986\u76d6\u9ed8\u8ba4\u914d\u7f6e\u6587\u4ef6\u7684\u8bbe\u7f6e\u3002\u73b0\u5728\u5df2\u4fee\u590d\uff0c\u5206\u5e03\u5f0fDDL\u67e5\u8be2\u7684\u8bbe\u7f6e\u4e0d\u5e94\u5f71\u54cd\u5168\u5c40\u670d\u52a1\u5668\u8bbe\u7f6e\u3002#16635\uff08tavplubix\uff09\u3002<br \/>\n\u9650\u5236\u5728\u952e\uff08\u6392\u5e8f\u952e\uff0c\u4e3b\u952e\uff0c\u5206\u533a\u952e\u7b49\uff09\u4e2d\u4f7f\u7528\u4e0d\u53ef\u6bd4\u8f83\u7684\u6570\u636e\u7c7b\u578b\uff08\u5982AggregateFunction\uff09\u3002#16601\uff08alesapin\uff09\u3002<br \/>\n\u5220\u9664ANALYZE\u548cAST\u67e5\u8be2\uff0c\u5e76\u4f7fenable_debug_queries\u8bbe\u7f6e\u65e0\u6548\uff0c\u56e0\u4e3a\u73b0\u5728\u5b83\u662f\u5b8c\u6574\u529f\u80fdEXPLAIN\u67e5\u8be2\u7684\u4e00\u90e8\u5206\u3002#16536\uff08Ivan\uff09\u3002<br \/>\n\u805a\u5408\u51fd\u6570boundingRatio\uff0crankCorr\uff0cretention\uff0ctimeSeriesGroupSum\uff0ctimeSeriesGroupRateSum\uff0cwindowFunnel\u88ab\u9519\u8bef\u5730\u8bbe\u7f6e\u4e3a\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u3002\u73b0\u5728\uff0c\u5b83\u4eec\u7684\u540d\u79f0\u5c06\u6309\u8bbe\u8ba1\u533a\u5206\u5927\u5c0f\u5199\u3002\u53ea\u6709\u6307\u5b9a\u5728SQL\u6807\u51c6\u4e2d\u6216\u4e3a\u4e0e\u5176\u4ed6DBMS\u517c\u5bb9\u6216\u7c7b\u4f3c\u7684\u51fd\u6570\u624d\u5e94\u533a\u5206\u5927\u5c0f\u5199\u3002#16407\uff08alexey-milovidov\uff09\u3002<br \/>\n\u4f7frankCorr\u51fd\u6570\u5728\u6570\u636e\u4e0d\u8db3\u65f6\u8fd4\u56denan\u3002#16124\u3002#16135\uff08hexiaoting\uff09<br \/>\n\u5f53\u4ece\u65e9\u4e8e20.5\u7684\u7248\u672c\u5347\u7ea7\u65f6<\/p>\n<\/details>\n<details>2019-05-13, 19.6.2.11<br \/>\n\u4e3a\u4e86\u7edf\u4e00\u6027\uff0c\u5c06HTTP\u5934\u7684Query-Id\u91cd\u547d\u540d\u4e3aX-ClickHouse-Query-Id\u3002\uff034972\uff08Mikhail\uff092019-02-13, 19.3.3<br \/>\n\u79fb\u9664\u4e86allow_experimental_low_cardinality_type\u8bbe\u7f6e\u3002LowCardinality\u6570\u636e\u7c7b\u578b\u5df2\u7ecf\u4e3a\u751f\u4ea7\u73af\u5883\u51c6\u5907\u5c31\u7eea\u3002\uff034323\uff08alexey-milovidov\uff09<br \/>\n\u6839\u636e\u53ef\u7528\u5185\u5b58\u91cf\u76f8\u5e94\u51cf\u5c11\u6807\u8bb0\u7f13\u5b58\u5927\u5c0f\u548c\u672a\u538b\u7f29\u7f13\u5b58\u5927\u5c0f\u3002\uff034240\uff08Lopatin Konstantin\uff09<br \/>\n\u5728CREATE TABLE\u67e5\u8be2\u4e2d\u6dfb\u52a0\u4e86\u5173\u952e\u5b57INDEX\u3002\u5177\u6709\u540d\u79f0index\u7684\u5217\u5fc5\u987b\u4f7f\u7528\u5012\u5f15\u53f7\u6216\u53cc\u5f15\u53f7\u5f15\u7528\uff1aindex\u3002\uff034143\uff08Nikita Vasilev\uff09<br \/>\nsumMap\u73b0\u5728\u63d0\u5347\u7ed3\u679c\u7c7b\u578b\u800c\u4e0d\u662f\u6ea2\u51fa\u3002\u901a\u8fc7\u4f7f\u7528sumMapWithOverflow\u51fd\u6570\u53ef\u4ee5\u83b7\u5f97\u65e7\u7684sumMap\u884c\u4e3a\u3002\uff034151\uff08 Ercolanelli\uff09<\/p>\n<p>2019-01-24, 19.1.6<br \/>\n\u79fb\u9664\u4e86\u672a\u8bb0\u5f55\u7684\u7279\u6027ALTER MODIFY PRIMARY KEY\uff0c\u56e0\u4e3a\u5b83\u5df2\u88abALTER MODIFY ORDER BY\u547d\u4ee4\u53d6\u4ee3\u3002\uff033887\uff08Alex Zatelepin\uff09<br \/>\n\u79fb\u9664\u4e86\u51fd\u6570shardByHash\u3002\uff033833\uff08alexey-milovidov\uff09<br \/>\n\u7981\u6b62\u4f7f\u7528\u5177\u6709AggregateFunction\u7c7b\u578b\u7ed3\u679c\u7684\u6807\u91cf\u5b50\u67e5\u8be2\u3002\uff033865\uff08Ivan\uff09<\/p>\n<p>2018-12-14, 18.16.0<br \/>\n\u4e0d\u518d\u5141\u8bb8\u5c06Date\u7c7b\u578b\u4e0e\u6570\u5b57\u8fdb\u884c\u6bd4\u8f83\u3002\u5fc5\u987b\u4f7f\u7528\u663e\u5f0f\u7c7b\u578b\u8f6c\u6362=toDate\uff0817883\uff09\u6765\u66ff\u4ee3toDate\uff08&#8217;2018-12-18&#8217;\uff09= 17883\u3002\uff033687<\/p>\n<p>2018-10-16, 18.14.9<br \/>\n\u79fb\u9664\u4e86allow_experimental_decimal_type\u9009\u9879\u3002Decimal\u6570\u636e\u7c7b\u578b\u53ef\u9ed8\u8ba4\u4f7f\u7528\u3002\uff033329<\/p>\n<p>2018-09-16, 18.12.17<br \/>\n\u542f\u7528enable_optimize_predicate_expression\u9009\u9879\u9ed8\u8ba4\u503c\uff08\u76f8\u5f53\u4e50\u89c2\uff09\u3002\u5982\u679c\u51fa\u73b0\u4e0e\u641c\u7d22\u5217\u540d\u76f8\u5173\u7684\u67e5\u8be2\u5206\u6790\u9519\u8bef\uff0c\u8bf7\u5c06enable_optimize_predicate_expression\u8bbe\u7f6e\u4e3a0\u3002Winter Zhang<\/p>\n<p>2018-09-10, 18.12.13<br \/>\n\u5728\u5e26\u6709JOIN\u7684\u67e5\u8be2\u4e2d\uff0c\u661f\u53f7\u6269\u5c55\u4e3a\u6240\u6709\u8868\u4e2d\u7684\u5217\u5217\u8868\uff0c\u7b26\u5408SQL\u6807\u51c6\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u5728\u7528\u6237\u914d\u7f6e\u7ea7\u522b\u4e0a\u5c06asterisk_left_columns_only\u8bbe\u7f6e\u4e3a1\u4ee5\u6062\u590d\u65e7\u7684\u884c\u4e3a\u3002<\/p>\n<p>2018-08-13, 18.10.3<br \/>\n\u4e0d\u518d\u652f\u6301Distributed\u8868\u7684CHECK TABLE\u67e5\u8be2\u3002<\/p>\n<p>2018-07-28, 18.4.0<br \/>\nKafka\u5f15\u64ce\u7684\u53c2\u6570\u5df2\u7ecf\u4eceKafka\uff08kafka_broker_list\uff0ckafka_topic_list\uff0ckafka_group_name\uff0ckafka_format [\uff0ckafka_schema\uff0ckafka_num_consumers]\uff09\u66f4\u6539\u4e3aKafka\uff08kafka_broker_list\uff0ckafka_topic_list\uff0ckafka_group_name\uff0ckafka_format [\uff0ckafka_row_delimiter\uff0ckafka_schema\uff0ckafka_num_consumers]\uff09\u3002\u5982\u679c\u60a8\u7684\u8868\u4f7f\u7528kafka_schema\u6216kafka_num_consumers\u53c2\u6570\uff0c\u5219\u5fc5\u987b\u624b\u52a8\u7f16\u8f91\u5143\u6570\u636e\u6587\u4ef6\u8def\u5f84\/\u5143\u6570\u636e\/\u6570\u636e\u5e93\/\u8868.sql\uff0c\u5e76\u6dfb\u52a0\u5e26\u6709&#8221;\u503c\u7684kafka_row_delimiter\u53c2\u6570\u3002<\/p>\n<p>2018-07-23, 18.1.0<br \/>\n\u65e0\u6cd5\u5c06\u5305\u542b\u6570\u5b57\u96f6\u7684\u5b57\u7b26\u4e32\u8f6c\u6362\u4e3aDateTime\u3002\u793a\u4f8b\uff1aSELECT toDateTime\uff08&#8217;0&#8217;\uff09\u3002\u8fd9\u4e5f\u662fDateTime DEFAULT &#8216;0&#8217;\u5728\u8868\u4e2d\u4e0d\u8d77\u4f5c\u7528\u7684\u539f\u56e0\uff0c\u4ee5\u53ca\u5b57\u5178\u4e2d\u76840\u3002\u89e3\u51b3\u65b9\u6cd5\uff1a\u5c060\u66ff\u6362\u4e3a0000-00-00 00:00:00\u3002<\/p>\n<p>2018-06-28, 1.1.54388<br \/>\n\u79fb\u9664\u4e86Vertical\u548cPretty *\u683c\u5f0f\u4e2d\u7684\u8f6c\u4e49\uff0c\u5e76\u5220\u9664\u4e86VerticalRaw\u683c\u5f0f\u3002<br \/>\n\u5982\u679c\u540c\u65f6\u5728\u5206\u5e03\u5f0f\u67e5\u8be2\u4e2d\u540c\u65f6\u4f7f\u7528\u7248\u672c\u4e3a1.1.54388\uff08\u6216\u66f4\u9ad8\u7248\u672c\uff09\u7684\u670d\u52a1\u5668\u548c\u65e7\u7248\u672c\u7684\u670d\u52a1\u5668\uff0c\u5e76\u4e14\u67e5\u8be2\u5177\u6709\u6ca1\u6709AS\u5173\u952e\u5b57\u7684cast\uff08x\uff0c&#8217;Type&#8217;\uff09\u8868\u8fbe\u5f0f\uff0c\u5e76\u4e14\u6ca1\u6709\u5927\u5199\u5b57\u6bcd\u7684cast\u5355\u8bcd\uff0c\u5c06\u629b\u51fa\u5f02\u5e38\uff0c\u5e76\u663e\u793a\u7c7b\u4f3c\u4e8eNot found column cast\uff080\uff0c&#8217;UInt8&#8217;\uff09in block\u7684\u6d88\u606f\u3002\u89e3\u51b3\u65b9\u6cd5\uff1a\u66f4\u65b0\u6574\u4e2a\u7fa4\u96c6\u4e0a\u7684\u670d\u52a1\u5668\u3002<\/p>\n<p>2018-04-21, 1.1.54380<br \/>\n\u4e0d\u518d\u652f\u6301\u7c7b\u4f3c(a\uff0cb) IN\uff08SELECT\uff08a\uff0cb\uff09\uff09\u7684\u8868\u8fbe\u5f0f\uff08\u53ef\u4ee5\u4f7f\u7528\u7b49\u6548\u7684(a\uff0cb) IN\uff08SELECT a\uff0cb\uff09\u8868\u8fbe\u5f0f\uff09\u3002\u5728\u4ee5\u524d\u7684\u7248\u672c\u4e2d\uff0c\u8fd9\u4e9b\u8868\u8fbe\u5f0f\u5bfc\u81f4\u4e0d\u786e\u5b9a\u7684WHERE\u8fc7\u6ee4\u6216\u5f15\u8d77\u9519\u8bef\u3002<\/p>\n<p>2018-04-16, 1.1.54378<br \/>\n\u79fb\u9664\u4e86\u5f53\u5de6\u4fa7\u6307\u5b9a\u4e86\u6570\u7ec4\u65f6\uff0cIN\u8868\u8fbe\u5f0f\u7684\u7279\u6b8a\u89e3\u91ca\u3002\u4ee5\u524d\uff0c\u8868\u8fbe\u5f0farr IN\uff08set\uff09\u88ab\u89e3\u91ca\u4e3a\u201c\u81f3\u5c11\u6709\u4e00\u4e2aarr\u5143\u7d20\u5c5e\u4e8e\u96c6\u5408\u201d\u3002\u8981\u5728\u65b0\u7248\u672c\u4e2d\u83b7\u5f97\u76f8\u540c\u7684\u884c\u4e3a\uff0c\u8bf7\u7f16\u5199arrayExists\uff08x-&gt; x IN\uff08set\uff09\uff0carr\uff09\u3002<br \/>\n\u7981\u7528\u4e86\u9519\u8bef\u5730\u5728Poco\u5e93\u4e2d\u9ed8\u8ba4\u542f\u7528\u7684socket\u9009\u9879SO_REUSEPORT\u7684\u4f7f\u7528\u3002\u6ce8\u610f\uff0c\u5728Linux\u4e0a\uff0c\u540c\u65f6\u4e3alisten\u6307\u5b9a\u5730\u5740::\u548c0.0.0.0\u4e0d\u518d\u6709\u4efb\u4f55\u539f\u56e0 &#8211; \u4f7f\u7528::\uff0c\u8fd9\u6837\u53ef\u4ee5\u540c\u65f6\u76d1\u542cIPv4\u548cIPv6\u8fde\u63a5\uff08\u4f7f\u7528\u9ed8\u8ba4\u7684\u5185\u6838\u914d\u7f6e\u8bbe\u7f6e\uff09\u3002\u60a8\u4e5f\u53ef\u4ee5\u901a\u8fc7\u5728\u914d\u7f6e\u4e2d\u6307\u5b9a1\u6765\u6062\u590d\u5230\u4ee5\u524d\u7248\u672c\u7684\u884c\u4e3a\u3002<\/p>\n<p>2018-03-11, 1.1.54362<br \/>\n\u79fb\u9664\u4e86distributed_ddl_allow_replicated_alter\u9009\u9879\u3002\u6b64\u884c\u4e3a\u9ed8\u8ba4\u542f\u7528\u3002<br \/>\n\u79fb\u9664\u4e86strict_insert_defaults\u8bbe\u7f6e\u3002\u5982\u679c\u60a8\u4f7f\u7528\u6b64\u529f\u80fd\uff0c\u8bf7\u5199\u4fe1\u5230clickhouse-feedback@yandex-team.com\u3002<br \/>\n\u79fb\u9664\u4e86UnsortedMergeTree\u5f15\u64ce\u3002<\/p>\n<p>2018-01-18, 1.1.54337<br \/>\n\u5411\u540e\u4e0d\u517c\u5bb9\u5730\u66f4\u6539\u4e86Log\u7c7b\u578b\u8868\u4e2d\u5305\u542bNullable\u5217\u7684\u6807\u8bb0\u683c\u5f0f\u3002\u5982\u679c\u60a8\u6709\u8fd9\u4e9b\u8868\uff0c\u8bf7\u5728\u542f\u52a8\u65b0\u670d\u52a1\u5668\u7248\u672c\u4e4b\u524d\u5c06\u5b83\u4eec\u8f6c\u6362\u4e3aTinyLog\u7c7b\u578b\u3002\u4e3a\u6b64\uff0c\u8bf7\u5728\u5143\u6570\u636e\u76ee\u5f55\u4e2d\u7684\u76f8\u5e94.sql\u6587\u4ef6\u4e2d\u5c06ENGINE = Log\u66ff\u6362\u4e3aENGINE = TinyLog\u3002\u5982\u679c\u60a8\u7684\u8868\u6ca1\u6709Nullable\u5217\u6216\u8005\u60a8\u7684\u8868\u7684\u7c7b\u578b\u4e0d\u662fLog\uff0c\u5219\u4e0d\u9700\u8981\u505a\u4efb\u4f55\u64cd\u4f5c\u3002<br \/>\n\u79fb\u9664\u4e86experimental_allow_extended_storage_definition_syntax\u8bbe\u7f6e\u3002\u73b0\u5728\u6b64\u529f\u80fd\u9ed8\u8ba4\u542f\u7528\u3002<br \/>\n\u5c06runningIncome\u51fd\u6570\u91cd\u547d\u540d\u4e3arunningDifferenceStartingWithFirstvalue\u4ee5\u907f\u514d\u6df7\u6dc6\u3002<br \/>\n\u5220\u9664\u7528\u4e8e\u6f14\u793a\u76ee\u7684\u7684BlockTabSeparated\u683c\u5f0f\u3002<br \/>\n\u66f4\u6539\u4e86\u805a\u5408\u51fd\u6570varSamp\u3001varPop\u3001stddevSamp\u3001stddevPop\u3001covarSamp\u3001covarPop\u3001corr\u7684\u72b6\u6001\u683c\u5f0f\u3002\u5982\u679c\u60a8\u5728\u8868\u4e2d\u5b58\u50a8\u4e86\u8fd9\u4e9b\u805a\u5408\u51fd\u6570\u7684\u72b6\u6001\uff08\u4f7f\u7528AggregateFunction\u6570\u636e\u7c7b\u578b\u6216\u5e26\u6709\u76f8\u5e94\u72b6\u6001\u7684materialized view\uff09\uff0c\u8bf7\u5199\u4fe1\u5230clickhouse-feedback@yandex-team.com\u3002<br \/>\n\u5728\u4ee5\u524d\u7684\u670d\u52a1\u5668\u7248\u672c\u4e2d\uff0c\u6709\u4e00\u4e2a\u672a\u8bb0\u5f55\u7684\u529f\u80fd\uff1a\u5982\u679c\u805a\u5408\u51fd\u6570\u4f9d\u8d56\u4e8e\u53c2\u6570\uff0c\u5219\u4ecd\u7136\u53ef\u4ee5\u5728\u4e0d\u5e26\u53c2\u6570\u7684AggregateFunction\u6570\u636e\u7c7b\u578b\u4e2d\u6307\u5b9a\u5b83\u3002\u4f8b\u5982\uff1aAggregateFunction\uff08quantiles\uff0cUInt64\uff09\u800c\u4e0d\u662fAggregateFunction\uff08quantiles\uff080.5,0.9\uff09\uff0cUInt64\uff09\u3002\u6b64\u529f\u80fd\u5df2\u4e22\u5931\u3002\u867d\u7136\u5b83\u672a\u8bb0\u5f55\uff0c\u4f46\u6211\u4eec\u8ba1\u5212\u5728\u672a\u6765\u7684\u7248\u672c\u4e2d\u652f\u6301\u5b83\u3002<br \/>\n\u6700\u5c0f\/\u6700\u5927\u805a\u5408\u51fd\u6570\u4e2d\u4e0d\u80fd\u4f7f\u7528\u679a\u4e3e\u6570\u636e\u7c7b\u578b\u3002\u6b64\u529f\u80fd\u5c06\u5728\u4e0b\u4e00\u4e2a\u7248\u672c\u4e2d\u8fd4\u56de\u3002<\/p>\n<p>2017-11-01, 1.1.54310<br \/>\n\u4e0d\u5141\u8bb8\u4f7f\u7528Memory\u4ee5\u5916\u7684\u5176\u4ed6\u5f15\u64ce\u521b\u5efa\u4e34\u65f6\u8868\u3002<br \/>\n\u4e0d\u5141\u8bb8\u663e\u5f0f\u4f7f\u7528View\u6216MaterializedView\u5f15\u64ce\u521b\u5efa\u8868\u3002<br \/>\n\u5728\u8868\u521b\u5efa\u8fc7\u7a0b\u4e2d\uff0c\u65b0\u7684\u68c0\u67e5\u9a8c\u8bc1\u4e86\u91c7\u6837\u952e\u8868\u8fbe\u5f0f\u662f\u5426\u5305\u542b\u5728\u4e3b\u952e\u4e2d\u3002<\/p>\n<p>2017-08-16, 1.1.54276<br \/>\n\u66f4\u6539\u4e86groupArray\uff08array_column\uff09\u51fd\u6570\u7684\u6570\u7ec4\u7684\u805a\u5408\u72b6\u6001\u7684\u4e8c\u8fdb\u5236\u683c\u5f0f\u3002<\/p>\n<p>2017-07-04, 1.1.54245<br \/>\n\u79fb\u9664\u4e86SET GLOBAL<\/p>\n<\/details>\n<h2>\u6700\u540e<\/h2>\n<p>ClickHouse, Inc. \u6210\u7acb\u4e86\u3002\u606d\u559c\uff01<\/p>\n<p>&nbsp;<\/p>\n<p>\u6211\u8ba4\u4e3a\u8fd9\u6b3e\u4ea7\u54c1\u5df2\u7ecf\u53d8\u5f97\u66f4\u52a0\u6709\u53d1\u5c55\u524d\u666f\uff0c\u8d44\u91d1\u7b79\u96c6\u4e5f\u8fdb\u884c\u5f97\u987a\u5229\u3002<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u8fd9\u7bc7\u6587\u7ae0\u662f\u300a2021\u5e74\u300aStandby Advent Calendar\u300b\u7684\u7b2c\u4e8c\u5929\u6587\u7ae0\u3002 \u6628\u5929\u662f@kencom2 [&hellip;]<\/p>\n","protected":false},"author":12,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-47105","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u5347\u7ea7ClickHouse - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/zh\/blog\/\u5347\u7ea7clickhouse\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u5347\u7ea7ClickHouse\" \/>\n<meta property=\"og:description\" content=\"\u8fd9\u7bc7\u6587\u7ae0\u662f\u300a2021\u5e74\u300aStandby Advent Calendar\u300b\u7684\u7b2c\u4e8c\u5929\u6587\u7ae0\u3002 \u6628\u5929\u662f@kencom2 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u5347\u7ea7clickhouse\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-01-04T12:09:01+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-29T10:42:06+00:00\" \/>\n<meta name=\"author\" content=\"\u9038, \u79d1\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u9038, \u79d1\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"17 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%8d%87%e7%ba%a7clickhouse\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%8d%87%e7%ba%a7clickhouse\/\",\"name\":\"\u5347\u7ea7ClickHouse - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2023-01-04T12:09:01+00:00\",\"dateModified\":\"2024-04-29T10:42:06+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/85c1dae56e6ea1e695c73d33c684d487\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%8d%87%e7%ba%a7clickhouse\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%8d%87%e7%ba%a7clickhouse\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%8d%87%e7%ba%a7clickhouse\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u5347\u7ea7ClickHouse\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/85c1dae56e6ea1e695c73d33c684d487\",\"name\":\"\u9038, \u79d1\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c94f6d9cbbfbca863fab309840bd690c153c95f8490c290ad2ed54dd693dad16?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c94f6d9cbbfbca863fab309840bd690c153c95f8490c290ad2ed54dd693dad16?s=96&d=mm&r=g\",\"caption\":\"\u9038, \u79d1\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/keyi\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%8d%87%e7%ba%a7clickhouse\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u5347\u7ea7ClickHouse - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/zh\/blog\/\u5347\u7ea7clickhouse\/","og_locale":"zh_CN","og_type":"article","og_title":"\u5347\u7ea7ClickHouse","og_description":"\u8fd9\u7bc7\u6587\u7ae0\u662f\u300a2021\u5e74\u300aStandby Advent Calendar\u300b\u7684\u7b2c\u4e8c\u5929\u6587\u7ae0\u3002 \u6628\u5929\u662f@kencom2 [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u5347\u7ea7clickhouse\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-01-04T12:09:01+00:00","article_modified_time":"2024-04-29T10:42:06+00:00","author":"\u9038, \u79d1","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u9038, \u79d1","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"17 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%8d%87%e7%ba%a7clickhouse\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%8d%87%e7%ba%a7clickhouse\/","name":"\u5347\u7ea7ClickHouse - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2023-01-04T12:09:01+00:00","dateModified":"2024-04-29T10:42:06+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/85c1dae56e6ea1e695c73d33c684d487"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%8d%87%e7%ba%a7clickhouse\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e5%8d%87%e7%ba%a7clickhouse\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%8d%87%e7%ba%a7clickhouse\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u5347\u7ea7ClickHouse"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/85c1dae56e6ea1e695c73d33c684d487","name":"\u9038, \u79d1","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c94f6d9cbbfbca863fab309840bd690c153c95f8490c290ad2ed54dd693dad16?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c94f6d9cbbfbca863fab309840bd690c153c95f8490c290ad2ed54dd693dad16?s=96&d=mm&r=g","caption":"\u9038, \u79d1"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/keyi\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%8d%87%e7%ba%a7clickhouse\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/47105","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=47105"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/47105\/revisions"}],"predecessor-version":[{"id":86973,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/47105\/revisions\/86973"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=47105"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=47105"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=47105"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}