SELECT *
FROM system.databases;
create database circle_db engine=Ordinary comment 'circle_db';
create table circle_db.bitmap_circle
(
row_key String default -1,
field_value_string String default -1,
field_value_long Int64 default -1,
field_value_double Float64 default -1,
object_id_map AggregateFunction(groupBitmap, UInt64),
p_date DateTime default now(),
table_code String default -1,
field_code String default -1
)
engine = AggregatingMergeTree()
partition by (p_date, table_code, field_code)
order by (row_key, field_value_string, field_value_long, field_value_double)
SETTINGS index_granularity = 128;
-- 由于标签的行数不会太多,将索引粒度调整适量大小(默认8192)
create table if not exists circle_db.base_user
(
id UInt64,
name String,
country String,
city String,
tag UInt32,
create_time DateTime
) engine = MergeTree
partition by toYYYYMM(create_time)
order by id
;
insert into circle_db.base_user
values (1, 'Name1', '中国', '重庆', 10001, now()),
(2, 'Name2', '中国', '重庆', 10002, now()),
(3, 'Name3', '中国', '重庆', 10003, now()),
(4, 'Name4', '中国', '重庆', 10004, now()),
(5, 'Name5', '中国', '重庆', 10005, now()),
(6, 'Name6', '中国', '重庆', 10006, now()),
(7, 'Name7', '中国', '重庆', 10007, now()),
(8, 'Name8', '中国', '重庆', 10008, now()),
(9, 'Name9', '中国', '重庆', 10009, now()),
(10, 'Name10', '中国', '重庆', 10010, now()),
(11, 'Name11', '中国', '重庆', 10011, now()),
(12, 'Name12', '中国', '重庆', 10012, now()),
(13, 'Name13', '中国', '重庆', 10013, now()),
(14, 'Name14', '中国', '重庆', 10014, now()),
(15, 'Name15', '中国', '重庆', 10015, now()),
(16, 'Name16', '中国', '重庆', 10016, now()),
(17, 'Name17', '中国', '重庆', 10017, now()),
(18, 'Name18', '中国', '重庆', 10018, now()),
(19, 'Name19', '中国', '重庆', 10019, now()),
(20, 'Name20', '中国', '重庆', 10020, now()),
(21, 'Name21', '中国', '重庆', 10021, now()),
(22, 'Name22', '中国', '重庆', 10022, now()),
(23, 'Name23', '中国', '重庆', 10023, now()),
(24, 'Name24', '中国', '重庆', 10024, now()),
(25, 'Name25', '中国', '重庆', 10025, now()),
(26, 'Name26', '中国', '重庆', 10026, now()),
(27, 'Name27', '中国', '重庆', 10027, now()),
(28, 'Name28', '中国', '重庆', 10028, now()),
(29, 'Name29', '中国', '重庆', 10029, now()),
(30, 'Name30', '中国', '重庆', 10030, now()),
(31, 'Name31', '中国', '重庆', 10031, now()),
(32, 'Name32', '中国', '重庆', 10032, now()),
(33, 'Name33', '中国', '重庆', 10033, now()),
(34, 'Name34', '中国', '重庆', 10034, now()),
(35, 'Name35', '中国', '重庆', 10035, now()),
(36, 'Name36', '中国', '重庆', 10036, now()),
(37, 'Name37', '中国', '重庆', 10037, now()),
(38, 'Name38', '中国', '重庆', 10038, now()),
(39, 'Name39', '中国', '重庆', 10039, now()),
(40, 'Name40', '中国', '重庆', 10040, now()),
(41, 'Name41', '中国', '重庆', 10041, now()),
(42, 'Name42', '中国', '重庆', 10042, now()),
(43, 'Name43', '中国', '重庆', 10043, now()),
(44, 'Name44', '中国', '重庆', 10044, now()),
(45, 'Name45', '中国', '重庆', 10045, now()),
(46, 'Name46', '中国', '重庆', 10046, now()),
(47, 'Name47', '中国', '重庆', 10047, now()),
(48, 'Name48', '中国', '重庆', 10048, now()),
(49, 'Name49', '中国', '重庆', 10049, now()),
(50, 'Name50', '中国', '重庆', 10050, now()),
(51, 'Name51', '中国', '重庆', 10051, now()),
(52, 'Name52', '中国', '重庆', 10052, now()),
(53, 'Name53', '中国', '重庆', 10053, now()),
(54, 'Name54', '中国', '重庆', 10054, now()),
(55, 'Name55', '中国', '重庆', 10055, now()),
(56, 'Name56', '中国', '重庆', 10056, now()),
(57, 'Name57', '中国', '重庆', 10057, now()),
(58, 'Name58', '中国', '重庆', 10058, now()),
(59, 'Name59', '中国', '重庆', 10059, now()),
(60, 'Name60', '中国', '重庆', 10060, now()),
(61, 'Name61', '中国', '重庆', 10061, now()),
(62, 'Name62', '中国', '重庆', 10062, now()),
(63, 'Name63', '中国', '重庆', 10063, now()),
(64, 'Name64', '中国', '重庆', 10064, now()),
(65, 'Name65', '中国', '重庆', 10065, now()),
(66, 'Name66', '中国', '重庆', 10066, now()),
(67, 'Name67', '中国', '重庆', 10067, now()),
(68, 'Name68', '中国', '重庆', 10068, now()),
(69, 'Name69', '中国', '重庆', 10069, now()),
(70, 'Name70', '中国', '重庆', 10070, now()),
(71, 'Name71', '中国', '重庆', 10071, now()),
(72, 'Name72', '中国', '重庆', 10072, now()),
(73, 'Name73', '中国', '重庆', 10073, now()),
(74, 'Name74', '中国', '重庆', 10074, now()),
(75, 'Name75', '中国', '重庆', 10075, now()),
(76, 'Name76', '中国', '重庆', 10076, now()),
(77, 'Name77', '中国', '重庆', 10077, now()),
(78, 'Name78', '中国', '重庆', 10078, now()),
(79, 'Name79', '中国', '重庆', 10079, now()),
(80, 'Name80', '中国', '重庆', 10080, now()),
(81, 'Name81', '中国', '重庆', 10081, now()),
(82, 'Name82', '中国', '重庆', 10082, now()),
(83, 'Name83', '中国', '重庆', 10083, now()),
(84, 'Name84', '中国', '重庆', 10084, now()),
(85, 'Name85', '中国', '重庆', 10085, now()),
(86, 'Name86', '中国', '重庆', 10086, now()),
(87, 'Name87', '中国', '重庆', 10087, now()),
(88, 'Name88', '中国', '重庆', 10088, now()),
(89, 'Name89', '中国', '重庆', 10089, now()),
(90, 'Name90', '中国', '重庆', 10090, now()),
(91, 'Name91', '中国', '重庆', 10091, now()),
(92, 'Name92', '中国', '重庆', 10092, now()),
(93, 'Name93', '中国', '重庆', 10093, now()),
(94, 'Name94', '中国', '重庆', 10094, now()),
(95, 'Name95', '中国', '重庆', 10095, now()),
(96, 'Name96', '中国', '重庆', 10096, now()),
(97, 'Name97', '中国', '重庆', 10097, now()),
(98, 'Name98', '中国', '重庆', 10098, now()),
(99, 'Name99', '中国', '重庆', 10099, now()),
(100, 'Name100', '中国', '重庆', 10100, now()),
(101, 'Name101', '中国', '重庆', 10101, now()),
(102, 'Name102', '中国', '重庆', 10102, now()),
(103, 'Name103', '中国', '重庆', 10103, now()),
(104, 'Name104', '中国', '重庆', 10104, now()),
(105, 'Name105', '中国', '重庆', 10105, now()),
(106, 'Name106', '中国', '重庆', 10106, now()),
(107, 'Name107', '中国', '重庆', 10107, now()),
(108, 'Name108', '中国', '重庆', 10108, now()),
(109, 'Name109', '中国', '重庆', 10109, now()),
(110, 'Name110', '中国', '重庆', 10110, now()),
(111, 'Name111', '中国', '重庆', 10111, now()),
(112, 'Name112', '中国', '重庆', 10112, now()),
(113, 'Name113', '中国', '重庆', 10113, now()),
(114, 'Name114', '中国', '重庆', 10114, now()),
(115, 'Name115', '中国', '重庆', 10115, now()),
(116, 'Name116', '中国', '重庆', 10116, now()),
(117, 'Name117', '中国', '重庆', 10117, now()),
(118, 'Name118', '中国', '重庆', 10118, now()),
(119, 'Name119', '中国', '重庆', 10119, now()),
(120, 'Name120', '中国', '重庆', 10120, now()),
(121, 'Name121', '中国', '重庆', 10121, now()),
(122, 'Name122', '中国', '重庆', 10122, now()),
(123, 'Name123', '中国', '重庆', 10123, now()),
(124, 'Name124', '中国', '重庆', 10124, now()),
(125, 'Name125', '中国', '重庆', 10125, now()),
(126, 'Name126', '中国', '重庆', 10126, now()),
(127, 'Name127', '中国', '重庆', 10127, now()),
(128, 'Name128', '中国', '重庆', 10128, now()),
(129, 'Name129', '中国', '重庆', 10129, now()),
(130, 'Name130', '中国', '重庆', 10130, now()),
(131, 'Name131', '中国', '重庆', 10131, now()),
(132, 'Name132', '中国', '重庆', 10132, now()),
(133, 'Name133', '中国', '重庆', 10133, now()),
(134, 'Name134', '中国', '重庆', 10134, now()),
(135, 'Name135', '中国', '重庆', 10135, now()),
(136, 'Name136', '中国', '重庆', 10136, now()),
(137, 'Name137', '中国', '重庆', 10137, now()),
(138, 'Name138', '中国', '重庆', 10138, now()),
(139, 'Name139', '中国', '重庆', 10139, now()),
(140, 'Name140', '中国', '重庆', 10140, now()),
(141, 'Name141', '中国', '重庆', 10141, now()),
(142, 'Name142', '中国', '重庆', 10142, now()),
(143, 'Name143', '中国', '重庆', 10143, now()),
(144, 'Name144', '中国', '重庆', 10144, now()),
(145, 'Name145', '中国', '重庆', 10145, now()),
(146, 'Name146', '中国', '重庆', 10146, now()),
(147, 'Name147', '中国', '重庆', 10147, now()),
(148, 'Name148', '中国', '重庆', 10148, now()),
(149, 'Name149', '中国', '重庆', 10149, now()),
(150, 'Name150', '中国', '重庆', 10150, now()),
(151, 'Name151', '中国', '重庆', 10151, now()),
(152, 'Name152', '中国', '重庆', 10152, now()),
(153, 'Name153', '中国', '重庆', 10153, now()),
(154, 'Name154', '中国', '重庆', 10154, now()),
(155, 'Name155', '中国', '重庆', 10155, now()),
(156, 'Name156', '中国', '重庆', 10156, now()),
(157, 'Name157', '中国', '重庆', 10157, now()),
(158, 'Name158', '中国', '重庆', 10158, now()),
(159, 'Name159', '中国', '重庆', 10159, now()),
(160, 'Name160', '中国', '重庆', 10160, now()),
(161, 'Name161', '中国', '重庆', 10161, now()),
(162, 'Name162', '中国', '重庆', 10162, now()),
(163, 'Name163', '中国', '重庆', 10163, now()),
(164, 'Name164', '中国', '重庆', 10164, now()),
(165, 'Name165', '中国', '重庆', 10165, now()),
(166, 'Name166', '中国', '重庆', 10166, now()),
(167, 'Name167', '中国', '重庆', 10167, now()),
(168, 'Name168', '中国', '重庆', 10168, now()),
(169, 'Name169', '中国', '重庆', 10169, now()),
(170, 'Name170', '中国', '重庆', 10170, now()),
(171, 'Name171', '中国', '重庆', 10171, now()),
(172, 'Name172', '中国', '重庆', 10172, now()),
(173, 'Name173', '中国', '重庆', 10173, now()),
(174, 'Name174', '中国', '重庆', 10174, now()),
(175, 'Name175', '中国', '重庆', 10175, now()),
(176, 'Name176', '中国', '重庆', 10176, now()),
(177, 'Name177', '中国', '重庆', 10177, now()),
(178, 'Name178', '中国', '重庆', 10178, now()),
(179, 'Name179', '中国', '重庆', 10179, now()),
(180, 'Name180', '中国', '重庆', 10180, now()),
(181, 'Name181', '中国', '重庆', 10181, now()),
(182, 'Name182', '中国', '重庆', 10182, now()),
(183, 'Name183', '中国', '重庆', 10183, now()),
(184, 'Name184', '中国', '重庆', 10184, now()),
(185, 'Name185', '中国', '重庆', 10185, now()),
(186, 'Name186', '中国', '重庆', 10186, now()),
(187, 'Name187', '中国', '重庆', 10187, now()),
(188, 'Name188', '中国', '重庆', 10188, now()),
(189, 'Name189', '中国', '重庆', 10189, now()),
(190, 'Name190', '中国', '重庆', 10190, now()),
(191, 'Name191', '中国', '重庆', 10191, now()),
(192, 'Name192', '中国', '重庆', 10192, now()),
(193, 'Name193', '中国', '重庆', 10193, now()),
(194, 'Name194', '中国', '重庆', 10194, now()),
(195, 'Name195', '中国', '重庆', 10195, now()),
(196, 'Name196', '中国', '重庆', 10196, now()),
(197, 'Name197', '中国', '重庆', 10197, now()),
(198, 'Name198', '中国', '重庆', 10198, now()),
(199, 'Name199', '中国', '重庆', 10199, now()),
(200, 'Name200', '中国', '重庆', 10200, now()),
(201, 'Name201', '中国', '重庆', 10201, now()),
(202, 'Name202', '中国', '重庆', 10202, now()),
(203, 'Name203', '中国', '重庆', 10203, now()),
(204, 'Name204', '中国', '重庆', 10204, now()),
(205, 'Name205', '中国', '重庆', 10205, now()),
(206, 'Name206', '中国', '重庆', 10206, now()),
(207, 'Name207', '中国', '重庆', 10207, now()),
(208, 'Name208', '中国', '重庆', 10208, now()),
(209, 'Name209', '中国', '重庆', 10209, now()),
(210, 'Name210', '中国', '重庆', 10210, now()),
(211, 'Name211', '中国', '重庆', 10211, now()),
(212, 'Name212', '中国', '重庆', 10212, now()),
(213, 'Name213', '中国', '重庆', 10213, now()),
(214, 'Name214', '中国', '重庆', 10214, now()),
(215, 'Name215', '中国', '重庆', 10215, now()),
(216, 'Name216', '中国', '重庆', 10216, now()),
(217, 'Name217', '中国', '重庆', 10217, now()),
(218, 'Name218', '中国', '重庆', 10218, now()),
(219, 'Name219', '中国', '重庆', 10219, now()),
(220, 'Name220', '中国', '重庆', 10220, now()),
(221, 'Name221', '中国', '重庆', 10221, now()),
(222, 'Name222', '中国', '重庆', 10222, now()),
(223, 'Name223', '中国', '重庆', 10223, now()),
(224, 'Name224', '中国', '重庆', 10224, now()),
(225, 'Name225', '中国', '重庆', 10225, now()),
(226, 'Name226', '中国', '重庆', 10226, now()),
(227, 'Name227', '中国', '重庆', 10227, now()),
(228, 'Name228', '中国', '重庆', 10228, now()),
(229, 'Name229', '中国', '重庆', 10229, now()),
(230, 'Name230', '中国', '重庆', 10230, now()),
(231, 'Name231', '中国', '重庆', 10231, now()),
(232, 'Name232', '中国', '重庆', 10232, now()),
(233, 'Name233', '中国', '重庆', 10233, now()),
(234, 'Name234', '中国', '重庆', 10234, now()),
(235, 'Name235', '中国', '重庆', 10235, now()),
(236, 'Name236', '中国', '重庆', 10236, now()),
(237, 'Name237', '中国', '重庆', 10237, now()),
(238, 'Name238', '中国', '重庆', 10238, now()),
(239, 'Name239', '中国', '重庆', 10239, now()),
(240, 'Name240', '中国', '重庆', 10240, now()),
(241, 'Name241', '中国', '重庆', 10241, now()),
(242, 'Name242', '中国', '重庆', 10242, now()),
(243, 'Name243', '中国', '重庆', 10243, now()),
(244, 'Name244', '中国', '重庆', 10244, now()),
(245, 'Name245', '中国', '重庆', 10245, now()),
(246, 'Name246', '中国', '重庆', 10246, now()),
(247, 'Name247', '中国', '重庆', 10247, now()),
(248, 'Name248', '中国', '重庆', 10248, now()),
(249, 'Name249', '中国', '重庆', 10249, now()),
(250, 'Name250', '中国', '重庆', 10250, now()),
(251, 'Name251', '中国', '重庆', 10251, now()),
(252, 'Name252', '中国', '重庆', 10252, now()),
(253, 'Name253', '中国', '重庆', 10253, now()),
(254, 'Name254', '中国', '重庆', 10254, now()),
(255, 'Name255', '中国', '重庆', 10255, now()),
(256, 'Name256', '中国', '重庆', 10256, now()),
(257, 'Name257', '中国', '重庆', 10257, now()),
(258, 'Name258', '中国', '重庆', 10258, now()),
(259, 'Name259', '中国', '重庆', 10259, now()),
(260, 'Name260', '中国', '重庆', 10260, now()),
(261, 'Name261', '中国', '重庆', 10261, now()),
(262, 'Name262', '中国', '重庆', 10262, now()),
(263, 'Name263', '中国', '重庆', 10263, now()),
(264, 'Name264', '中国', '重庆', 10264, now()),
(265, 'Name265', '中国', '重庆', 10265, now()),
(266, 'Name266', '中国', '重庆', 10266, now()),
(267, 'Name267', '中国', '重庆', 10267, now()),
(268, 'Name268', '中国', '重庆', 10268, now()),
(269, 'Name269', '中国', '重庆', 10269, now()),
(270, 'Name270', '中国', '重庆', 10270, now()),
(271, 'Name271', '中国', '重庆', 10271, now()),
(272, 'Name272', '中国', '重庆', 10272, now()),
(273, 'Name273', '中国', '重庆', 10273, now()),
(274, 'Name274', '中国', '重庆', 10274, now()),
(275, 'Name275', '中国', '重庆', 10275, now()),
(276, 'Name276', '中国', '重庆', 10276, now()),
(277, 'Name277', '中国', '重庆', 10277, now()),
(278, 'Name278', '中国', '重庆', 10278, now()),
(279, 'Name279', '中国', '重庆', 10279, now()),
(280, 'Name280', '中国', '重庆', 10280, now()),
(281, 'Name281', '中国', '重庆', 10281, now()),
(282, 'Name282', '中国', '重庆', 10282, now()),
(283, 'Name283', '中国', '重庆', 10283, now()),
(284, 'Name284', '中国', '重庆', 10284, now()),
(285, 'Name285', '中国', '重庆', 10285, now()),
(286, 'Name286', '中国', '重庆', 10286, now()),
(287, 'Name287', '中国', '重庆', 10287, now()),
(288, 'Name288', '中国', '重庆', 10288, now()),
(289, 'Name289', '中国', '重庆', 10289, now()),
(290, 'Name290', '中国', '重庆', 10290, now()),
(291, 'Name291', '中国', '重庆', 10291, now()),
(292, 'Name292', '中国', '重庆', 10292, now()),
(293, 'Name293', '中国', '重庆', 10293, now()),
(294, 'Name294', '中国', '重庆', 10294, now()),
(295, 'Name295', '中国', '重庆', 10295, now()),
(296, 'Name296', '中国', '重庆', 10296, now()),
(297, 'Name297', '中国', '重庆', 10297, now()),
(298, 'Name298', '中国', '重庆', 10298, now()),
(299, 'Name299', '中国', '重庆', 10299, now()),
(300, 'Name300', '中国', '重庆', 10300, now()),
(301, 'Name301', '中国', '重庆', 10301, now()),
(302, 'Name302', '中国', '重庆', 10302, now()),
(303, 'Name303', '中国', '重庆', 10303, now()),
(304, 'Name304', '中国', '重庆', 10304, now()),
(305, 'Name305', '中国', '重庆', 10305, now()),
(306, 'Name306', '中国', '重庆', 10306, now()),
(307, 'Name307', '中国', '重庆', 10307, now()),
(308, 'Name308', '中国', '重庆', 10308, now()),
(309, 'Name309', '中国', '重庆', 10309, now()),
(310, 'Name310', '中国', '重庆', 10310, now()),
(311, 'Name311', '中国', '重庆', 10311, now()),
(312, 'Name312', '中国', '重庆', 10312, now()),
(313, 'Name313', '中国', '重庆', 10313, now()),
(314, 'Name314', '中国', '重庆', 10314, now()),
(315, 'Name315', '中国', '重庆', 10315, now()),
(316, 'Name316', '中国', '重庆', 10316, now()),
(317, 'Name317', '中国', '重庆', 10317, now()),
(318, 'Name318', '中国', '重庆', 10318, now()),
(319, 'Name319', '中国', '重庆', 10319, now()),
(320, 'Name320', '中国', '重庆', 10320, now()),
(321, 'Name321', '中国', '重庆', 10321, now()),
(322, 'Name322', '中国', '重庆', 10322, now()),
(323, 'Name323', '中国', '重庆', 10323, now()),
(324, 'Name324', '中国', '重庆', 10324, now()),
(325, 'Name325', '中国', '重庆', 10325, now()),
(326, 'Name326', '中国', '重庆', 10326, now()),
(327, 'Name327', '中国', '重庆', 10327, now()),
(328, 'Name328', '中国', '重庆', 10328, now()),
(329, 'Name329', '中国', '重庆', 10329, now()),
(330, 'Name330', '中国', '重庆', 10330, now()),
(331, 'Name331', '中国', '重庆', 10331, now()),
(332, 'Name332', '中国', '重庆', 10332, now()),
(333, 'Name333', '中国', '重庆', 10333, now()),
(334, 'Name334', '中国', '重庆', 10334, now()),
(335, 'Name335', '中国', '重庆', 10335, now()),
(336, 'Name336', '中国', '重庆', 10336, now()),
(337, 'Name337', '中国', '重庆', 10337, now()),
(338, 'Name338', '中国', '重庆', 10338, now()),
(339, 'Name339', '中国', '重庆', 10339, now()),
(340, 'Name340', '中国', '重庆', 10340, now()),
(341, 'Name341', '中国', '重庆', 10341, now()),
(342, 'Name342', '中国', '重庆', 10342, now()),
(343, 'Name343', '中国', '重庆', 10343, now()),
(344, 'Name344', '中国', '重庆', 10344, now()),
(345, 'Name345', '中国', '重庆', 10345, now()),
(346, 'Name346', '中国', '重庆', 10346, now()),
(347, 'Name347', '中国', '重庆', 10347, now()),
(348, 'Name348', '中国', '重庆', 10348, now()),
(349, 'Name349', '中国', '重庆', 10349, now()),
(350, 'Name350', '中国', '重庆', 10350, now()),
(351, 'Name351', '中国', '重庆', 10351, now()),
(352, 'Name352', '中国', '重庆', 10352, now()),
(353, 'Name353', '中国', '重庆', 10353, now()),
(354, 'Name354', '中国', '重庆', 10354, now()),
(355, 'Name355', '中国', '重庆', 10355, now()),
(356, 'Name356', '中国', '重庆', 10356, now()),
(357, 'Name357', '中国', '重庆', 10357, now()),
(358, 'Name358', '中国', '重庆', 10358, now()),
(359, 'Name359', '中国', '重庆', 10359, now()),
(360, 'Name360', '中国', '重庆', 10360, now()),
(361, 'Name361', '中国', '重庆', 10361, now()),
(362, 'Name362', '中国', '重庆', 10362, now()),
(363, 'Name363', '中国', '重庆', 10363, now()),
(364, 'Name364', '中国', '重庆', 10364, now()),
(365, 'Name365', '中国', '重庆', 10365, now()),
(366, 'Name366', '中国', '重庆', 10366, now()),
(367, 'Name367', '中国', '重庆', 10367, now()),
(368, 'Name368', '中国', '重庆', 10368, now()),
(369, 'Name369', '中国', '重庆', 10369, now()),
(370, 'Name370', '中国', '重庆', 10370, now()),
(371, 'Name371', '中国', '重庆', 10371, now()),
(372, 'Name372', '中国', '重庆', 10372, now()),
(373, 'Name373', '中国', '重庆', 10373, now()),
(374, 'Name374', '中国', '重庆', 10374, now()),
(375, 'Name375', '中国', '重庆', 10375, now()),
(376, 'Name376', '中国', '重庆', 10376, now()),
(377, 'Name377', '中国', '重庆', 10377, now()),
(378, 'Name378', '中国', '重庆', 10378, now()),
(379, 'Name379', '中国', '重庆', 10379, now()),
(380, 'Name380', '中国', '重庆', 10380, now()),
(381, 'Name381', '中国', '重庆', 10381, now()),
(382, 'Name382', '中国', '重庆', 10382, now()),
(383, 'Name383', '中国', '重庆', 10383, now()),
(384, 'Name384', '中国', '重庆', 10384, now()),
(385, 'Name385', '中国', '重庆', 10385, now()),
(386, 'Name386', '中国', '重庆', 10386, now()),
(387, 'Name387', '中国', '重庆', 10387, now()),
(388, 'Name388', '中国', '重庆', 10388, now()),
(389, 'Name389', '中国', '重庆', 10389, now()),
(390, 'Name390', '中国', '重庆', 10390, now()),
(391, 'Name391', '中国', '重庆', 10391, now()),
(392, 'Name392', '中国', '重庆', 10392, now()),
(393, 'Name393', '中国', '重庆', 10393, now()),
(394, 'Name394', '中国', '重庆', 10394, now()),
(395, 'Name395', '中国', '重庆', 10395, now()),
(396, 'Name396', '中国', '重庆', 10396, now()),
(397, 'Name397', '中国', '重庆', 10397, now()),
(398, 'Name398', '中国', '重庆', 10398, now()),
(399, 'Name399', '中国', '重庆', 10399, now()),
(400, 'Name400', '中国', '重庆', 10400, now()),
(401, 'Name401', '中国', '重庆', 10401, now()),
(402, 'Name402', '中国', '重庆', 10402, now()),
(403, 'Name403', '中国', '重庆', 10403, now()),
(404, 'Name404', '中国', '重庆', 10404, now()),
(405, 'Name405', '中国', '重庆', 10405, now()),
(406, 'Name406', '中国', '重庆', 10406, now()),
(407, 'Name407', '中国', '重庆', 10407, now()),
(408, 'Name408', '中国', '重庆', 10408, now()),
(409, 'Name409', '中国', '重庆', 10409, now()),
(410, 'Name410', '中国', '重庆', 10410, now()),
(411, 'Name411', '中国', '重庆', 10411, now()),
(412, 'Name412', '中国', '重庆', 10412, now()),
(413, 'Name413', '中国', '重庆', 10413, now()),
(414, 'Name414', '中国', '重庆', 10414, now()),
(415, 'Name415', '中国', '重庆', 10415, now()),
(416, 'Name416', '中国', '重庆', 10416, now()),
(417, 'Name417', '中国', '重庆', 10417, now()),
(418, 'Name418', '中国', '重庆', 10418, now()),
(419, 'Name419', '中国', '重庆', 10419, now()),
(420, 'Name420', '中国', '重庆', 10420, now()),
(421, 'Name421', '中国', '重庆', 10421, now()),
(422, 'Name422', '中国', '重庆', 10422, now()),
(423, 'Name423', '中国', '重庆', 10423, now()),
(424, 'Name424', '中国', '重庆', 10424, now()),
(425, 'Name425', '中国', '重庆', 10425, now()),
(426, 'Name426', '中国', '重庆', 10426, now()),
(427, 'Name427', '中国', '重庆', 10427, now()),
(428, 'Name428', '中国', '重庆', 10428, now()),
(429, 'Name429', '中国', '重庆', 10429, now()),
(430, 'Name430', '中国', '重庆', 10430, now()),
(431, 'Name431', '中国', '重庆', 10431, now()),
(432, 'Name432', '中国', '重庆', 10432, now()),
(433, 'Name433', '中国', '重庆', 10433, now()),
(434, 'Name434', '中国', '重庆', 10434, now()),
(435, 'Name435', '中国', '重庆', 10435, now()),
(436, 'Name436', '中国', '重庆', 10436, now()),
(437, 'Name437', '中国', '重庆', 10437, now()),
(438, 'Name438', '中国', '重庆', 10438, now()),
(439, 'Name439', '中国', '重庆', 10439, now()),
(440, 'Name440', '中国', '重庆', 10440, now()),
(441, 'Name441', '中国', '重庆', 10441, now()),
(442, 'Name442', '中国', '重庆', 10442, now()),
(443, 'Name443', '中国', '重庆', 10443, now()),
(444, 'Name444', '中国', '重庆', 10444, now()),
(445, 'Name445', '中国', '重庆', 10445, now()),
(446, 'Name446', '中国', '重庆', 10446, now()),
(447, 'Name447', '中国', '重庆', 10447, now()),
(448, 'Name448', '中国', '重庆', 10448, now()),
(449, 'Name449', '中国', '重庆', 10449, now()),
(450, 'Name450', '中国', '重庆', 10450, now()),
(451, 'Name451', '中国', '重庆', 10451, now()),
(452, 'Name452', '中国', '重庆', 10452, now()),
(453, 'Name453', '中国', '重庆', 10453, now()),
(454, 'Name454', '中国', '重庆', 10454, now()),
(455, 'Name455', '中国', '重庆', 10455, now()),
(456, 'Name456', '中国', '重庆', 10456, now()),
(457, 'Name457', '中国', '重庆', 10457, now()),
(458, 'Name458', '中国', '重庆', 10458, now()),
(459, 'Name459', '中国', '重庆', 10459, now()),
(460, 'Name460', '中国', '重庆', 10460, now()),
(461, 'Name461', '中国', '重庆', 10461, now()),
(462, 'Name462', '中国', '重庆', 10462, now()),
(463, 'Name463', '中国', '重庆', 10463, now()),
(464, 'Name464', '中国', '重庆', 10464, now()),
(465, 'Name465', '中国', '重庆', 10465, now()),
(466, 'Name466', '中国', '重庆', 10466, now()),
(467, 'Name467', '中国', '重庆', 10467, now()),
(468, 'Name468', '中国', '重庆', 10468, now()),
(469, 'Name469', '中国', '重庆', 10469, now()),
(470, 'Name470', '中国', '重庆', 10470, now()),
(471, 'Name471', '中国', '重庆', 10471, now()),
(472, 'Name472', '中国', '重庆', 10472, now()),
(473, 'Name473', '中国', '重庆', 10473, now()),
(474, 'Name474', '中国', '重庆', 10474, now()),
(475, 'Name475', '中国', '重庆', 10475, now()),
(476, 'Name476', '中国', '重庆', 10476, now()),
(477, 'Name477', '中国', '重庆', 10477, now()),
(478, 'Name478', '中国', '重庆', 10478, now()),
(479, 'Name479', '中国', '重庆', 10479, now()),
(480, 'Name480', '中国', '重庆', 10480, now()),
(481, 'Name481', '中国', '重庆', 10481, now()),
(482, 'Name482', '中国', '重庆', 10482, now()),
(483, 'Name483', '中国', '重庆', 10483, now()),
(484, 'Name484', '中国', '重庆', 10484, now()),
(485, 'Name485', '中国', '重庆', 10485, now()),
(486, 'Name486', '中国', '重庆', 10486, now()),
(487, 'Name487', '中国', '重庆', 10487, now()),
(488, 'Name488', '中国', '重庆', 10488, now()),
(489, 'Name489', '中国', '重庆', 10489, now()),
(490, 'Name490', '中国', '重庆', 10490, now()),
(491, 'Name491', '中国', '重庆', 10491, now()),
(492, 'Name492', '中国', '重庆', 10492, now()),
(493, 'Name493', '中国', '重庆', 10493, now()),
(494, 'Name494', '中国', '重庆', 10494, now()),
(495, 'Name495', '中国', '重庆', 10495, now()),
(496, 'Name496', '中国', '重庆', 10496, now()),
(497, 'Name497', '中国', '重庆', 10497, now()),
(498, 'Name498', '中国', '重庆', 10498, now()),
(499, 'Name499', '中国', '重庆', 10499, now()),
(500, 'Name500', '中国', '重庆', 10500, now()),
(501, 'Name501', '中国', '重庆', 10501, now()),
(502, 'Name502', '中国', '重庆', 10502, now()),
(503, 'Name503', '中国', '重庆', 10503, now()),
(504, 'Name504', '中国', '重庆', 10504, now()),
(505, 'Name505', '中国', '重庆', 10505, now()),
(506, 'Name506', '中国', '重庆', 10506, now()),
(507, 'Name507', '中国', '重庆', 10507, now()),
(508, 'Name508', '中国', '重庆', 10508, now()),
(509, 'Name509', '中国', '重庆', 10509, now()),
(510, 'Name510', '中国', '重庆', 10510, now()),
(511, 'Name511', '中国', '重庆', 10511, now()),
(512, 'Name512', '中国', '重庆', 10512, now()),
(513, 'Name513', '中国', '重庆', 10513, now()),
(514, 'Name514', '中国', '重庆', 10514, now()),
(515, 'Name515', '中国', '重庆', 10515, now()),
(516, 'Name516', '中国', '重庆', 10516, now()),
(517, 'Name517', '中国', '重庆', 10517, now()),
(518, 'Name518', '中国', '重庆', 10518, now()),
(519, 'Name519', '中国', '重庆', 10519, now()),
(520, 'Name520', '中国', '重庆', 10520, now()),
(521, 'Name521', '中国', '重庆', 10521, now()),
(522, 'Name522', '中国', '重庆', 10522, now()),
(523, 'Name523', '中国', '重庆', 10523, now()),
(524, 'Name524', '中国', '重庆', 10524, now()),
(525, 'Name525', '中国', '重庆', 10525, now()),
(526, 'Name526', '中国', '重庆', 10526, now()),
(527, 'Name527', '中国', '重庆', 10527, now()),
(528, 'Name528', '中国', '重庆', 10528, now()),
(529, 'Name529', '中国', '重庆', 10529, now()),
(530, 'Name530', '中国', '重庆', 10530, now()),
(531, 'Name531', '中国', '重庆', 10531, now()),
(532, 'Name532', '中国', '重庆', 10532, now()),
(533, 'Name533', '中国', '重庆', 10533, now()),
(534, 'Name534', '中国', '重庆', 10534, now()),
(535, 'Name535', '中国', '重庆', 10535, now()),
(536, 'Name536', '中国', '重庆', 10536, now()),
(537, 'Name537', '中国', '重庆', 10537, now()),
(538, 'Name538', '中国', '重庆', 10538, now()),
(539, 'Name539', '中国', '重庆', 10539, now()),
(540, 'Name540', '中国', '重庆', 10540, now())
;
insert into circle_db.base_user
values (541, 'Name541', '中国', '重庆', 10001, now());
AggregateFunction(groupBitmap, UInt64) 位图字段值
insert into circle_db.bitmap_circle
select tag as row_key,
'-1' as field_value_string,
tag as field_value_long,
'-1' as field_value_double,
groupBitmapState(id) as object_id_map,
now() as p_date,
'user_basic' as table_code,
'city' as field_code
from circle_db.base_user
group by tag
;
select row_key,
table_code,
field_code,
field_value_long,
bitmapToArray(groupBitmapMergeState(object_id_map))
from circle_db.bitmap_circle
group by row_key, table_code, field_code, field_value_long;
select *
from circle_db.bitmap_circle;
select *
from circle_db.base_user;
select bitmapBuild([1,2,3,4,5]) as res;
select bitmapToArray(bitmapBuild([1,2,3,4,5])) as res;
/*
┌─res─────────┐
│ [1,2,3,4,5] │
└─────────────┘
*/
select bitmapToArray(
bitmapSubsetInRange(
bitmapBuild(
[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,100,200,500]
),
toUInt32(10),
toUInt32(15)
)
) as res;
/*
┌─res──────────────┐
│ [10,11,12,13,14] │
└──────────────────┘
*/
select bitmapToArray(bitmapSubsetLimit(bitmapBuild(
[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,100,200,500]),
toUInt32(10), toUInt32(15))) as res;
/*
┌─res────────────────────────────────────────────┐
│ [10,11,12,13,14,15,16,17,18,19,20,21,22,23,24] │
└────────────────────────────────────────────────┘
*/
select bitmapContains(bitmapBuild([1,2,3,4,5]), toUInt32(9)) as res;
select bitmapHasAny(bitmapBuild([1,2,3]), bitmapBuild([3,4,5])) as res;
select bitmapHasAll(bitmapBuild([1,2,3]), bitmapBuild([3,4,5])) as res;
select bitmapToArray(bitmapAnd(bitmapBuild([1,2,3,4,5,6]), bitmapBuild([3,4,5,6,7,8]))) as res;
/*
┌─res───────┐
│ [3,4,5,6] │
└───────────┘
*/
select bitmapToArray(bitmapOr(bitmapBuild([1,2,3,4,5,6]), bitmapBuild([3,4,5,6,7,8]))) as res;
/*
┌─res───────────────┐
│ [1,2,3,4,5,6,7,8] │
└───────────────────┘
*/
select bitmapToArray(bitmapXor(bitmapBuild([1,2,3,4,5,6]), bitmapBuild([3,4,5,6,7,8]))) as res;
/*
┌─res───────┐
│ [1,2,7,8] │
└───────────┘
*/
select bitmapToArray(bitmapAndnot(bitmapBuild([1,2,3,4,5,6]), bitmapBuild([3,4,5,6,7,8]))) as res;
/*
┌─res───┐
│ [1,2] │
└───────┘
*/
select bitmapCardinality(bitmapBuild([1,2,3,4,6])) as res;
select bitmapMin(bitmapBuild([1,2,3,4,5,6,7,8])) as res;
select bitmapMax(bitmapBuild([1,2,3,4,5,6,7,8])) as res;
SELECT bitmapAndCardinality(bitmapBuild([1,2,3,4,5,6]), bitmapBuild([3,4,5,6,7,8])) AS res;
SELECT bitmapOrCardinality(bitmapBuild([1,2,3,4,5,6]), bitmapBuild([3,4,5,6,7,8])) AS res;
SELECT bitmapXorCardinality(bitmapBuild([1,2,3,4,5,6,7]), bitmapBuild([3,4,5,6,7,8,9])) AS res;
SELECT bitmapAndnotCardinality(bitmapBuild([1,2,3,4,5,6,7]), bitmapBuild([3,4,5,6,7,8,9])) AS res;
-- 数据准备
CREATE TABLE circle_db.bitmap_column_expr_test
(
tag_id String,
z AggregateFunction(groupBitmap, UInt32)
)
ENGINE = MergeTree
ORDER BY tag_id;
INSERT INTO circle_db.bitmap_column_expr_test
VALUES ('tag1', bitmapBuild(cast([1,2,3,4,5,6,7,8,9,10] as Array(UInt32))));
INSERT INTO circle_db.bitmap_column_expr_test
VALUES ('tag2', bitmapBuild(cast([6,7,8,9,10,11,12,13,14,15] as Array(UInt32))));
INSERT INTO circle_db.bitmap_column_expr_test
VALUES ('tag3', bitmapBuild(cast([2,4,6,8,10,12] as Array(UInt32))));
INSERT INTO circle_db.bitmap_column_expr_test
VALUES ('tag4', bitmapBuild(cast([2,4,6,8,10,12,12,10] as Array(UInt32))));
-- 查询测试
SELECT groupBitmapAnd(z)
FROM circle_db.bitmap_column_expr_test
WHERE like(tag_id, 'tag%');
/* 原理是所有的bitmap对象取交,得到的数量,
┌─groupBitmapAnd(z)─┐
│ 3 │
└───────────────────┘
*/
SELECT bitmapToArray(groupBitmapAndState(z))
FROM circle_db.bitmap_column_expr_test
WHERE tag_id = 'tag4';
/* 对bitmap对象里面的数据进行去重操作,后转为array
┌─bitmapToArray(groupBitmapAndState(z))─┐
│ [2,4,6,8,10,12] │
└───────────────────────────────────────┘
*/
SELECT groupBitmapOr(z)
FROM circle_db.bitmap_column_expr_test
WHERE like(tag_id, 'tag%');
/* 所有匹配的bitmap对象取并集,去重的数量
┌─groupBitmapOr(z)─┐
│ 15 │
└──────────────────┘
*/
SELECT groupBitmapXor(z)
FROM circle_db.bitmap_column_expr_test
WHERE like(tag_id, 'tag%');
/* 去除两者重复值,其它值合并(每两个bitmap对象进行一次操作),得到最后的数量
┌─groupBitmapOr(z)─┐
│ 10 │
└──────────────────┘
*/
Mac OS
wget 'https://builds.clickhouse.com/master/macos/clickhouse'
chmod a+x ./clickhouse
./clickhouse
Ubuntu
sudo apt-get install apt-transport-https ca-certificates dirmngr
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E0C56BD4
echo "deb https://repo.clickhouse.com/deb/stable/ main/" | sudo tee \
/etc/apt/sources.list.d/clickhouse.list
sudo apt-get update
sudo apt-get install -y clickhouse-server clickhouse-client
sudo service clickhouse-server start
clickhouse-client
参考:https://clickhouse.com/#quick-start
./clickhouse
Use one of the following commands:
clickhouse local [args]
clickhouse client [args]
clickhouse benchmark [args]
clickhouse server [args]
clickhouse extract-from-config [args]
clickhouse compressor [args]
clickhouse format [args]
clickhouse copier [args]
clickhouse obfuscator [args]
clickhouse git-import [args]
clickhouse keeper [args]
clickhouse keeper-converter [args]
clickhouse install [args]
clickhouse start [args]
clickhouse stop [args]
clickhouse status [args]
clickhouse restart [args]
clickhouse static-files-disk-uploader [args]
clickhouse hash-binary [args]
$./clickhouse server
Server 默认的端口号是: 8123
Application: Listening for http://127.0.0.1:8123
bytedance$./clickhouse client
ClickHouse client version 21.12.1.8808 (official build).
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 21.12.1 revision 54450.
clickhouse-client
clickhouse-client --host=... --port=... --user=... --password=...
Enable multiline queries:
clickhouse-client -m
clickhouse-client --multiline
Run queries in batch-mode:
clickhouse-client --query='SELECT 1'echo'SELECT 1'|clickhouse-clientclickhouse-client<<<'SELECT 1'
Insert data from a file in specified format:
clickhouse-client --query='INSERT INTO table VALUES'< data.txt
clickhouse-client --query='INSERT INTO table FORMAT TabSeparated'< data.tsv
ClickHouse支持的表引擎官:Ordinary/Dictionary/Memory/Mysql/Lazy
创建数据库指定数据库引擎语法:
create database xxxx engine = 数据库引擎
示例:
1.创建一个默认引擎的 clickhouse 数据库:
create database mydb engine=Ordinary comment 'mydb';
默认引擎Ordinary, 如果不指定数据库引擎创建的就是 Ordinary 数据库.
2. 创建 clickhouse 数据库, 使用 Mysql 引擎:
create database mysqlDB engine=MySQL('xx:3306','database','username','password');
3. 创建 Lazy 引擎的数据库:
create database testlazy engine=Lazy(expiration_time_in_seconds);
上次访问之后 expiration_time_in_seconds 秒之前,表放内存.
该库引擎下只能创建 *Log表引擎
查询当前 server 实例所有的 databases:
SELECT * FROM system.databases;
Query id: 3783b56d-d088-47e4-981a-57864a7a8419
┌─name───────────────┬─engine───┬─data_path────┬─metadata_path─────────────────────────────────────────────────────────┬─uuid─────────────────────────────────┬─comment─┐
│ INFORMATION_SCHEMA │ Memory │ ./ │ │ 00000000-0000-0000-0000-000000000000 │ │
│ default │ Atomic │ ./store/ │ /Users/bytedance/soft/store/456/456e7573-40ea-42f8-856e-757340ea82f8/ │ 456e7573-40ea-42f8-856e-757340ea82f8 │ │
│ information_schema │ Memory │ ./ │ │ 00000000-0000-0000-0000-000000000000 │ │
│ mydb │ Ordinary │ ./data/mydb/ │ /Users/bytedance/soft/metadata/mydb/ │ 00000000-0000-0000-0000-000000000000 │ mydb │
│ system │ Atomic │ ./store/ │ /Users/bytedance/soft/store/1db/1dbe01d6-a33f-46ae-9dbe-01d6a33f56ae/ │ 1dbe01d6-a33f-46ae-9dbe-01d6a33f56ae │ │
└────────────────────┴──────────┴──────────────┴───────────────────────────────────────────────────────────────────────┴──────────────────────────────────────┴─────────┘
5 rows in set. Elapsed: 0.001 sec.
create table test
(
dim_id String,
tag_code String,
tag_option_code String,
tag_option_value String,
object_ids Array(String),
p_date DateTime
)
engine =MergeTree
partition by p_date
order by (dim_id,tag_code,tag_option_code,p_date)
;
INSERT INTO mydb.test (dim_id, tag_code, tag_option_code, tag_option_value, object_ids, p_date) VALUES ('1', 't1', 'f1', 'a', null, '2021-11-23 17:19:29')
select * from test;