mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-20 00:30:49 +00:00
Merge pull request #13632 from ClickHouse/monetdb-benchmark-update
MonetDB benchmark update
This commit is contained in:
commit
aca156f43b
10
benchmark/monetdb/benchmark.sh
Executable file
10
benchmark/monetdb/benchmark.sh
Executable file
@ -0,0 +1,10 @@
|
||||
#!/bin/bash
|
||||
|
||||
grep -v -P '^#' queries.sql | sed -e 's/{table}/hits/' | while read query; do
|
||||
echo 3 | sudo tee /proc/sys/vm/drop_caches
|
||||
|
||||
echo "$query";
|
||||
for i in {1..3}; do
|
||||
./send-query "$query" 2>&1 | grep -P '\d+ tuple|clk: |unknown|overflow|error';
|
||||
done;
|
||||
done;
|
@ -1,4 +0,0 @@
|
||||
CONF_DIR=/home/kartavyy/benchmark/monetdb
|
||||
expect_file=$CONF_DIR/expect.tcl
|
||||
test_file=$CONF_DIR/queries.sql
|
||||
etc_init_d_service=/etc/init.d/monetdb5-sql
|
@ -1,3 +0,0 @@
|
||||
create table hits_10m ( WatchID BIGINT, JavaEnable SMALLINT, Title VARCHAR(1400), GoodEvent SMALLINT, EventTime TIMESTAMP, EventDate DATE, CounterID BIGINT, ClientIP BIGINT, RegionID BIGINT, UserID BIGINT, CounterClass TINYINT, OS SMALLINT, UserAgent SMALLINT, URL VARCHAR(7800), Referer VARCHAR(3125), Refresh TINYINT, RefererCategoryID INT, RefererRegionID BIGINT, URLCategoryID INT, URLRegionID BIGINT, ResolutionWidth INT, ResolutionHeight INT, ResolutionDepth SMALLINT, FlashMajor SMALLINT, FlashMinor SMALLINT, FlashMinor2 VARCHAR(256), NetMajor SMALLINT, NetMinor SMALLINT, UserAgentMajor INT, UserAgentMinor CHAR(2), CookieEnable SMALLINT, JavascriptEnable SMALLINT, IsMobile SMALLINT, MobilePhone SMALLINT, MobilePhoneModel VARCHAR(80), Params VARCHAR(2925), IPNetworkID BIGINT, TraficSourceID SMALLINT, SearchEngineID INT, SearchPhrase VARCHAR(2008), AdvEngineID SMALLINT, IsArtifical SMALLINT, WindowClientWidth INT, WindowClientHeight INT, ClientTimeZone INTEGER, ClientEventTime TIMESTAMP, SilverlightVersion1 SMALLINT, SilverlightVersion2 SMALLINT, SilverlightVersion3 BIGINT, SilverlightVersion4 INT, PageCharset VARCHAR(80), CodeVersion BIGINT, IsLink SMALLINT, IsDownload SMALLINT, IsNotBounce SMALLINT, FUniqID BIGINT, OriginalURL VARCHAR(8181), HID BIGINT, IsOldCounter SMALLINT, IsEvent SMALLINT, IsParameter SMALLINT, DontCountHits SMALLINT, WithHash SMALLINT, HitColor CHAR(1), LocalEventTime TIMESTAMP, Age SMALLINT, Sex SMALLINT, Income SMALLINT, Interests INT, Robotness SMALLINT, RemoteIP BIGINT, WindowName INT, OpenerName INT, HistoryLength SMALLINT, BrowserLanguage CHAR(2), BrowserCountry CHAR(2), SocialNetwork VARCHAR(128), SocialAction VARCHAR(128), HTTPError INT, SendTiming BIGINT, DNSTiming BIGINT, ConnectTiming BIGINT, ResponseStartTiming BIGINT, ResponseEndTiming BIGINT, FetchTiming BIGINT, SocialSourceNetworkID SMALLINT, SocialSourcePage VARCHAR(256), ParamPrice BIGINT, ParamOrderID VARCHAR(80), ParamCurrency CHAR(3), ParamCurrencyID INT, OpenstatServiceName VARCHAR(80), OpenstatCampaignID VARCHAR(512), OpenstatAdID VARCHAR(80), OpenstatSourceID VARCHAR(256), UTMSource VARCHAR(256), UTMMedium VARCHAR(256), UTMCampaign VARCHAR(407), UTMContent VARCHAR(256), UTMTerm VARCHAR(437), FromTag VARCHAR(428), HasGCLID SMALLINT, RefererHash BIGINT, URLHash BIGINT, CLID BIGINT, UserIDHash BIGINT ); CREATE INDEX hits_10m_ind ON hits_10m(CounterID, EventDate, UserIDHash, EventTime);
|
||||
|
||||
COPY INTO hits_10m FROM ('/opt/dump/dump_0.3/dump_hits_10m_meshed_utf8.tsv') DELIMITERS '\t';
|
356
benchmark/monetdb/instruction.md
Normal file
356
benchmark/monetdb/instruction.md
Normal file
@ -0,0 +1,356 @@
|
||||
Go to https://www.monetdb.org/
|
||||
|
||||
Dowload now.
|
||||
Latest binary releases.
|
||||
Ubuntu & Debian.
|
||||
|
||||
https://www.monetdb.org/downloads/deb/
|
||||
|
||||
Go to the server where you want to install MonetDB.
|
||||
```
|
||||
$ sudo mcedit /etc/apt/sources.list.d/monetdb.list
|
||||
```
|
||||
Write:
|
||||
```
|
||||
deb https://dev.monetdb.org/downloads/deb/ bionic monetdb
|
||||
```
|
||||
|
||||
```
|
||||
$ wget --output-document=- https://www.monetdb.org/downloads/MonetDB-GPG-KEY | sudo apt-key add -
|
||||
|
||||
$ sudo apt update
|
||||
$ sudo apt install monetdb5-sql monetdb-client
|
||||
|
||||
$ sudo systemctl enable monetdbd
|
||||
$ sudo systemctl start monetdbd
|
||||
$ sudo usermod -a -G monetdb $USER
|
||||
```
|
||||
|
||||
Logout and login back to your server.
|
||||
|
||||
Tutorial:
|
||||
https://www.monetdb.org/Documentation/UserGuide/Tutorial
|
||||
|
||||
Creating the database:
|
||||
|
||||
```
|
||||
$ sudo mkdir /opt/monetdb
|
||||
$ sudo chmod 777 /opt/monetdb
|
||||
$ monetdbd create /opt/monetdb
|
||||
|
||||
$ monetdbd start /opt/monetdb
|
||||
cannot remove socket files
|
||||
```
|
||||
|
||||
Now you have to stop MonetDB, copy the contents of `/var/monetdb5` to `/opt/monetdb` and replace the `/var/monetdb5` with symlink to `/opt/monetdb`. This is necessary, because I don't have free space in `/var` and creation of database in `/opt` did not succeed.
|
||||
|
||||
Start MonetDB again.
|
||||
|
||||
```
|
||||
$ sudo systemctl start monetdbd
|
||||
```
|
||||
|
||||
```
|
||||
$ monetdb create test
|
||||
created database in maintenance mode: test
|
||||
|
||||
$ monetdb release test
|
||||
taken database out of maintenance mode: test
|
||||
```
|
||||
|
||||
Run client:
|
||||
```
|
||||
$ mclient -u monetdb -d test
|
||||
```
|
||||
|
||||
Type password: monetdb
|
||||
|
||||
```
|
||||
CREATE TABLE hits
|
||||
(
|
||||
"WatchID" BIGINT,
|
||||
"JavaEnable" TINYINT,
|
||||
"Title" TEXT,
|
||||
"GoodEvent" SMALLINT,
|
||||
"EventTime" TIMESTAMP,
|
||||
"EventDate" Date,
|
||||
"CounterID" INTEGER,
|
||||
"ClientIP" INTEGER,
|
||||
"RegionID" INTEGER,
|
||||
"UserID" BIGINT,
|
||||
"CounterClass" TINYINT,
|
||||
"OS" TINYINT,
|
||||
"UserAgent" TINYINT,
|
||||
"URL" TEXT,
|
||||
"Referer" TEXT,
|
||||
"Refresh" TINYINT,
|
||||
"RefererCategoryID" SMALLINT,
|
||||
"RefererRegionID" INTEGER,
|
||||
"URLCategoryID" SMALLINT,
|
||||
"URLRegionID" INTEGER,
|
||||
"ResolutionWidth" SMALLINT,
|
||||
"ResolutionHeight" SMALLINT,
|
||||
"ResolutionDepth" TINYINT,
|
||||
"FlashMajor" TINYINT,
|
||||
"FlashMinor" TINYINT,
|
||||
"FlashMinor2" TEXT,
|
||||
"NetMajor" TINYINT,
|
||||
"NetMinor" TINYINT,
|
||||
"UserAgentMajor" SMALLINT,
|
||||
"UserAgentMinor" TEXT,
|
||||
"CookieEnable" TINYINT,
|
||||
"JavascriptEnable" TINYINT,
|
||||
"IsMobile" TINYINT,
|
||||
"MobilePhone" TINYINT,
|
||||
"MobilePhoneModel" TEXT,
|
||||
"Params" TEXT,
|
||||
"IPNetworkID" INTEGER,
|
||||
"TraficSourceID" TINYINT,
|
||||
"SearchEngineID" SMALLINT,
|
||||
"SearchPhrase" TEXT,
|
||||
"AdvEngineID" TINYINT,
|
||||
"IsArtifical" TINYINT,
|
||||
"WindowClientWidth" SMALLINT,
|
||||
"WindowClientHeight" SMALLINT,
|
||||
"ClientTimeZone" SMALLINT,
|
||||
"ClientEventTime" TIMESTAMP,
|
||||
"SilverlightVersion1" TINYINT,
|
||||
"SilverlightVersion2" TINYINT,
|
||||
"SilverlightVersion3" INTEGER,
|
||||
"SilverlightVersion4" SMALLINT,
|
||||
"PageCharset" TEXT,
|
||||
"CodeVersion" INTEGER,
|
||||
"IsLink" TINYINT,
|
||||
"IsDownload" TINYINT,
|
||||
"IsNotBounce" TINYINT,
|
||||
"FUniqID" BIGINT,
|
||||
"OriginalURL" TEXT,
|
||||
"HID" INTEGER,
|
||||
"IsOldCounter" TINYINT,
|
||||
"IsEvent" TINYINT,
|
||||
"IsParameter" TINYINT,
|
||||
"DontCountHits" TINYINT,
|
||||
"WithHash" TINYINT,
|
||||
"HitColor" TEXT,
|
||||
"LocalEventTime" TIMESTAMP,
|
||||
"Age" TINYINT,
|
||||
"Sex" TINYINT,
|
||||
"Income" TINYINT,
|
||||
"Interests" SMALLINT,
|
||||
"Robotness" TINYINT,
|
||||
"RemoteIP" INTEGER,
|
||||
"WindowName" INTEGER,
|
||||
"OpenerName" INTEGER,
|
||||
"HistoryLength" SMALLINT,
|
||||
"BrowserLanguage" TEXT,
|
||||
"BrowserCountry" TEXT,
|
||||
"SocialNetwork" TEXT,
|
||||
"SocialAction" TEXT,
|
||||
"HTTPError" SMALLINT,
|
||||
"SendTiming" INTEGER,
|
||||
"DNSTiming" INTEGER,
|
||||
"ConnectTiming" INTEGER,
|
||||
"ResponseStartTiming" INTEGER,
|
||||
"ResponseEndTiming" INTEGER,
|
||||
"FetchTiming" INTEGER,
|
||||
"SocialSourceNetworkID" TINYINT,
|
||||
"SocialSourcePage" TEXT,
|
||||
"ParamPrice" BIGINT,
|
||||
"ParamOrderID" TEXT,
|
||||
"ParamCurrency" TEXT,
|
||||
"ParamCurrencyID" SMALLINT,
|
||||
"OpenstatServiceName" TEXT,
|
||||
"OpenstatCampaignID" TEXT,
|
||||
"OpenstatAdID" TEXT,
|
||||
"OpenstatSourceID" TEXT,
|
||||
"UTMSource" TEXT,
|
||||
"UTMMedium" TEXT,
|
||||
"UTMCampaign" TEXT,
|
||||
"UTMContent" TEXT,
|
||||
"UTMTerm" TEXT,
|
||||
"FromTag" TEXT,
|
||||
"HasGCLID" TINYINT,
|
||||
"RefererHash" BIGINT,
|
||||
"URLHash" BIGINT,
|
||||
"CLID" INTEGER
|
||||
);
|
||||
```
|
||||
|
||||
# How to prepare data
|
||||
|
||||
Download the 100 million rows dataset from here and insert into ClickHouse:
|
||||
https://clickhouse.tech/docs/en/getting-started/example-datasets/metrica/
|
||||
|
||||
Create the dataset from ClickHouse:
|
||||
|
||||
```
|
||||
SELECT
|
||||
toInt64(WatchID) = -9223372036854775808 ? -9223372036854775807 : toInt64(WatchID),
|
||||
toInt8(JavaEnable) = -128 ? -127 : toInt8(JavaEnable),
|
||||
toValidUTF8(toString(Title)),
|
||||
toInt16(GoodEvent) = -32768 ? -32767 : toInt16(GoodEvent),
|
||||
EventTime,
|
||||
EventDate,
|
||||
toInt32(CounterID) = -2147483648 ? -2147483647 : toInt32(CounterID),
|
||||
toInt32(ClientIP) = -2147483648 ? -2147483647 : toInt32(ClientIP),
|
||||
toInt32(RegionID) = -2147483648 ? -2147483647 : toInt32(RegionID),
|
||||
toInt64(UserID) = -9223372036854775808 ? -9223372036854775807 : toInt64(UserID),
|
||||
toInt8(CounterClass) = -128 ? -127 : toInt8(CounterClass),
|
||||
toInt8(OS) = -128 ? -127 : toInt8(OS),
|
||||
toInt8(UserAgent) = -128 ? -127 : toInt8(UserAgent),
|
||||
toValidUTF8(toString(URL)),
|
||||
toValidUTF8(toString(Referer)),
|
||||
toInt8(Refresh) = -128 ? -127 : toInt8(Refresh),
|
||||
toInt16(RefererCategoryID) = -32768 ? -32767 : toInt16(RefererCategoryID),
|
||||
toInt32(RefererRegionID) = -2147483648 ? -2147483647 : toInt32(RefererRegionID),
|
||||
toInt16(URLCategoryID) = -32768 ? -32767 : toInt16(URLCategoryID),
|
||||
toInt32(URLRegionID) = -2147483648 ? -2147483647 : toInt32(URLRegionID),
|
||||
toInt16(ResolutionWidth) = -32768 ? -32767 : toInt16(ResolutionWidth),
|
||||
toInt16(ResolutionHeight) = -32768 ? -32767 : toInt16(ResolutionHeight),
|
||||
toInt8(ResolutionDepth) = -128 ? -127 : toInt8(ResolutionDepth),
|
||||
toInt8(FlashMajor) = -128 ? -127 : toInt8(FlashMajor),
|
||||
toInt8(FlashMinor) = -128 ? -127 : toInt8(FlashMinor),
|
||||
toValidUTF8(toString(FlashMinor2)),
|
||||
toInt8(NetMajor) = -128 ? -127 : toInt8(NetMajor),
|
||||
toInt8(NetMinor) = -128 ? -127 : toInt8(NetMinor),
|
||||
toInt16(UserAgentMajor) = -32768 ? -32767 : toInt16(UserAgentMajor),
|
||||
toValidUTF8(toString(UserAgentMinor)),
|
||||
toInt8(CookieEnable) = -128 ? -127 : toInt8(CookieEnable),
|
||||
toInt8(JavascriptEnable) = -128 ? -127 : toInt8(JavascriptEnable),
|
||||
toInt8(IsMobile) = -128 ? -127 : toInt8(IsMobile),
|
||||
toInt8(MobilePhone) = -128 ? -127 : toInt8(MobilePhone),
|
||||
toValidUTF8(toString(MobilePhoneModel)),
|
||||
toValidUTF8(toString(Params)),
|
||||
toInt32(IPNetworkID) = -2147483648 ? -2147483647 : toInt32(IPNetworkID),
|
||||
toInt8(TraficSourceID) = -128 ? -127 : toInt8(TraficSourceID),
|
||||
toInt16(SearchEngineID) = -32768 ? -32767 : toInt16(SearchEngineID),
|
||||
toValidUTF8(toString(SearchPhrase)),
|
||||
toInt8(AdvEngineID) = -128 ? -127 : toInt8(AdvEngineID),
|
||||
toInt8(IsArtifical) = -128 ? -127 : toInt8(IsArtifical),
|
||||
toInt16(WindowClientWidth) = -32768 ? -32767 : toInt16(WindowClientWidth),
|
||||
toInt16(WindowClientHeight) = -32768 ? -32767 : toInt16(WindowClientHeight),
|
||||
toInt16(ClientTimeZone) = -32768 ? -32767 : toInt16(ClientTimeZone),
|
||||
ClientEventTime,
|
||||
toInt8(SilverlightVersion1) = -128 ? -127 : toInt8(SilverlightVersion1),
|
||||
toInt8(SilverlightVersion2) = -128 ? -127 : toInt8(SilverlightVersion2),
|
||||
toInt32(SilverlightVersion3) = -2147483648 ? -2147483647 : toInt32(SilverlightVersion3),
|
||||
toInt16(SilverlightVersion4) = -32768 ? -32767 : toInt16(SilverlightVersion4),
|
||||
toValidUTF8(toString(PageCharset)),
|
||||
toInt32(CodeVersion) = -2147483648 ? -2147483647 : toInt32(CodeVersion),
|
||||
toInt8(IsLink) = -128 ? -127 : toInt8(IsLink),
|
||||
toInt8(IsDownload) = -128 ? -127 : toInt8(IsDownload),
|
||||
toInt8(IsNotBounce) = -128 ? -127 : toInt8(IsNotBounce),
|
||||
toInt64(FUniqID) = -9223372036854775808 ? -9223372036854775807 : toInt64(FUniqID),
|
||||
toValidUTF8(toString(OriginalURL)),
|
||||
toInt32(HID) = -2147483648 ? -2147483647 : toInt32(HID),
|
||||
toInt8(IsOldCounter) = -128 ? -127 : toInt8(IsOldCounter),
|
||||
toInt8(IsEvent) = -128 ? -127 : toInt8(IsEvent),
|
||||
toInt8(IsParameter) = -128 ? -127 : toInt8(IsParameter),
|
||||
toInt8(DontCountHits) = -128 ? -127 : toInt8(DontCountHits),
|
||||
toInt8(WithHash) = -128 ? -127 : toInt8(WithHash),
|
||||
toValidUTF8(toString(HitColor)),
|
||||
LocalEventTime,
|
||||
toInt8(Age) = -128 ? -127 : toInt8(Age),
|
||||
toInt8(Sex) = -128 ? -127 : toInt8(Sex),
|
||||
toInt8(Income) = -128 ? -127 : toInt8(Income),
|
||||
toInt16(Interests) = -32768 ? -32767 : toInt16(Interests),
|
||||
toInt8(Robotness) = -128 ? -127 : toInt8(Robotness),
|
||||
toInt32(RemoteIP) = -2147483648 ? -2147483647 : toInt32(RemoteIP),
|
||||
toInt32(WindowName) = -2147483648 ? -2147483647 : toInt32(WindowName),
|
||||
toInt32(OpenerName) = -2147483648 ? -2147483647 : toInt32(OpenerName),
|
||||
toInt16(HistoryLength) = -32768 ? -32767 : toInt16(HistoryLength),
|
||||
toValidUTF8(toString(BrowserLanguage)),
|
||||
toValidUTF8(toString(BrowserCountry)),
|
||||
toValidUTF8(toString(SocialNetwork)),
|
||||
toValidUTF8(toString(SocialAction)),
|
||||
toInt16(HTTPError) = -32768 ? -32767 : toInt16(HTTPError),
|
||||
toInt32(SendTiming) = -2147483648 ? -2147483647 : toInt32(SendTiming),
|
||||
toInt32(DNSTiming) = -2147483648 ? -2147483647 : toInt32(DNSTiming),
|
||||
toInt32(ConnectTiming) = -2147483648 ? -2147483647 : toInt32(ConnectTiming),
|
||||
toInt32(ResponseStartTiming) = -2147483648 ? -2147483647 : toInt32(ResponseStartTiming),
|
||||
toInt32(ResponseEndTiming) = -2147483648 ? -2147483647 : toInt32(ResponseEndTiming),
|
||||
toInt32(FetchTiming) = -2147483648 ? -2147483647 : toInt32(FetchTiming),
|
||||
toInt8(SocialSourceNetworkID) = -128 ? -127 : toInt8(SocialSourceNetworkID),
|
||||
toValidUTF8(toString(SocialSourcePage)),
|
||||
toInt64(ParamPrice) = -9223372036854775808 ? -9223372036854775807 : toInt64(ParamPrice),
|
||||
toValidUTF8(toString(ParamOrderID)),
|
||||
toValidUTF8(toString(ParamCurrency)),
|
||||
toInt16(ParamCurrencyID) = -32768 ? -32767 : toInt16(ParamCurrencyID),
|
||||
toValidUTF8(toString(OpenstatServiceName)),
|
||||
toValidUTF8(toString(OpenstatCampaignID)),
|
||||
toValidUTF8(toString(OpenstatAdID)),
|
||||
toValidUTF8(toString(OpenstatSourceID)),
|
||||
toValidUTF8(toString(UTMSource)),
|
||||
toValidUTF8(toString(UTMMedium)),
|
||||
toValidUTF8(toString(UTMCampaign)),
|
||||
toValidUTF8(toString(UTMContent)),
|
||||
toValidUTF8(toString(UTMTerm)),
|
||||
toValidUTF8(toString(FromTag)),
|
||||
toInt8(HasGCLID) = -128 ? -127 : toInt8(HasGCLID),
|
||||
toInt64(RefererHash) = -9223372036854775808 ? -9223372036854775807 : toInt64(RefererHash),
|
||||
toInt64(URLHash) = -9223372036854775808 ? -9223372036854775807 : toInt64(URLHash),
|
||||
toInt32(CLID) = -2147483648 ? -2147483647 : toInt32(CLID)
|
||||
FROM hits_100m_obfuscated
|
||||
INTO OUTFILE '/home/milovidov/example_datasets/hits_100m_obfuscated_monetdb.tsv'
|
||||
FORMAT TSV;
|
||||
```
|
||||
|
||||
Note that MonetDB does not support the most negative numbers like -128. And we have to convert them by adding one.
|
||||
It makes impossible to store the values of 64bit identifiers in BIGINT.
|
||||
Maybe it's a trick to optimize NULLs?
|
||||
|
||||
Upload the data:
|
||||
|
||||
```
|
||||
$ mclient -u monetdb -d test
|
||||
```
|
||||
|
||||
Type password: monetdb
|
||||
|
||||
```
|
||||
COPY INTO hits FROM '/home/milovidov/example_datasets/hits_100m_obfuscated_monetdb.tsv' USING DELIMITERS '\t';
|
||||
```
|
||||
|
||||
It takes 28 minutes 02 seconds on a server (Linux Ubuntu, Xeon E5-2560v2, 32 logical CPU, 128 GiB RAM, 8xHDD RAID-5, 40 TB).
|
||||
It is roughly 60 000 rows per second.
|
||||
|
||||
Validate the data:
|
||||
|
||||
```
|
||||
SELECT count(*) FROM hits;
|
||||
```
|
||||
|
||||
Create an index:
|
||||
|
||||
```
|
||||
CREATE INDEX hits_idx ON hits ("CounterID", "EventDate");
|
||||
```
|
||||
|
||||
(it takes 5 seconds)
|
||||
|
||||
Run the benchmark:
|
||||
|
||||
```
|
||||
./benchmark.sh | tee log.txt
|
||||
```
|
||||
|
||||
You can find the log in `log.txt` file.
|
||||
|
||||
Postprocess data:
|
||||
|
||||
```
|
||||
grep clk log.txt | tr -d '\r' | awk '{ if ($3 == "ms") { print $2 / 1000; } else if ($3 == "sec") { print $2 } else { print } }'
|
||||
```
|
||||
|
||||
Then replace values with "min" (minutes) timing manually and save to `tmp.txt`.
|
||||
Then process to JSON format:
|
||||
|
||||
```
|
||||
awk '{
|
||||
if (i % 3 == 0) { a = $1 }
|
||||
else if (i % 3 == 1) { b = $1 }
|
||||
else if (i % 3 == 2) { c = $1; print "[" a ", " b ", " c "]," };
|
||||
++i; }' < tmp.txt
|
||||
```
|
||||
|
||||
And paste to `/website/benchmark/dbms/results/005_monetdb.json` in the repository.
|
341
benchmark/monetdb/log.txt
Normal file
341
benchmark/monetdb/log.txt
Normal file
@ -0,0 +1,341 @@
|
||||
3
|
||||
SELECT count(*) FROM hits;
|
||||
1 tuple
|
||||
clk: 1.262 ms
|
||||
1 tuple
|
||||
clk: 1.420 ms
|
||||
1 tuple
|
||||
clk: 1.190 ms
|
||||
3
|
||||
SELECT count(*) FROM hits WHERE "AdvEngineID" <> 0;
|
||||
1 tuple
|
||||
clk: 1.530 sec
|
||||
1 tuple
|
||||
clk: 1.489 sec
|
||||
1 tuple
|
||||
clk: 1.490 sec
|
||||
3
|
||||
SELECT sum("AdvEngineID"), count(*), avg("ResolutionWidth") FROM hits;
|
||||
1 tuple
|
||||
clk: 597.512 ms
|
||||
1 tuple
|
||||
clk: 579.383 ms
|
||||
1 tuple
|
||||
clk: 598.220 ms
|
||||
3
|
||||
SELECT sum("UserID") FROM hits;
|
||||
overflow in calculation.
|
||||
clk: 568.003 ms
|
||||
overflow in calculation.
|
||||
clk: 554.572 ms
|
||||
overflow in calculation.
|
||||
clk: 552.076 ms
|
||||
3
|
||||
SELECT COUNT(DISTINCT "UserID") FROM hits;
|
||||
1 tuple
|
||||
clk: 6.688 sec
|
||||
1 tuple
|
||||
clk: 6.689 sec
|
||||
1 tuple
|
||||
clk: 6.652 sec
|
||||
3
|
||||
SELECT COUNT(DISTINCT "SearchPhrase") FROM hits;
|
||||
1 tuple
|
||||
clk: 15.702 sec
|
||||
1 tuple
|
||||
clk: 17.189 sec
|
||||
1 tuple
|
||||
clk: 15.514 sec
|
||||
3
|
||||
SELECT min("EventDate"), max("EventDate") FROM hits;
|
||||
1 tuple
|
||||
clk: 697.770 ms
|
||||
1 tuple
|
||||
clk: 711.870 ms
|
||||
1 tuple
|
||||
clk: 697.177 ms
|
||||
3
|
||||
SELECT "AdvEngineID", count(*) FROM hits WHERE "AdvEngineID" <> 0 GROUP BY "AdvEngineID" ORDER BY count(*) DESC;
|
||||
18 tuples
|
||||
clk: 1.536 sec
|
||||
18 tuples
|
||||
clk: 1.505 sec
|
||||
18 tuples
|
||||
clk: 1.492 sec
|
||||
3
|
||||
SELECT "RegionID", COUNT(DISTINCT "UserID") AS u FROM hits GROUP BY "RegionID" ORDER BY u DESC LIMIT 10;
|
||||
10 tuples
|
||||
clk: 9.965 sec
|
||||
10 tuples
|
||||
clk: 10.106 sec
|
||||
10 tuples
|
||||
clk: 10.136 sec
|
||||
3
|
||||
SELECT "RegionID", sum("AdvEngineID"), count(*) AS c, avg("ResolutionWidth"), COUNT(DISTINCT "UserID") FROM hits GROUP BY "RegionID" ORDER BY c DESC LIMIT 10;
|
||||
10 tuples
|
||||
clk: 8.329 sec
|
||||
10 tuples
|
||||
clk: 8.601 sec
|
||||
10 tuples
|
||||
clk: 8.039 sec
|
||||
3
|
||||
SELECT "MobilePhoneModel", COUNT(DISTINCT "UserID") AS u FROM hits WHERE "MobilePhoneModel" <> '' GROUP BY "MobilePhoneModel" ORDER BY u DESC LIMIT 10;
|
||||
10 tuples
|
||||
clk: 3.385 sec
|
||||
10 tuples
|
||||
clk: 3.321 sec
|
||||
10 tuples
|
||||
clk: 3.326 sec
|
||||
3
|
||||
SELECT "MobilePhone", "MobilePhoneModel", COUNT(DISTINCT "UserID") AS u FROM hits WHERE "MobilePhoneModel" <> '' GROUP BY "MobilePhone", "MobilePhoneModel" ORDER BY u DESC LIMIT 10;
|
||||
10 tuples
|
||||
clk: 3.510 sec
|
||||
10 tuples
|
||||
clk: 3.431 sec
|
||||
10 tuples
|
||||
clk: 3.382 sec
|
||||
3
|
||||
SELECT "SearchPhrase", count(*) AS c FROM hits WHERE "SearchPhrase" <> '' GROUP BY "SearchPhrase" ORDER BY c DESC LIMIT 10;
|
||||
10 tuples
|
||||
clk: 10.891 sec
|
||||
10 tuples
|
||||
clk: 11.483 sec
|
||||
10 tuples
|
||||
clk: 10.352 sec
|
||||
3
|
||||
SELECT "SearchPhrase", COUNT(DISTINCT "UserID") AS u FROM hits WHERE "SearchPhrase" <> '' GROUP BY "SearchPhrase" ORDER BY u DESC LIMIT 10;
|
||||
10 tuples
|
||||
clk: 15.711 sec
|
||||
10 tuples
|
||||
clk: 15.444 sec
|
||||
10 tuples
|
||||
clk: 15.503 sec
|
||||
3
|
||||
SELECT "SearchEngineID", "SearchPhrase", count(*) AS c FROM hits WHERE "SearchPhrase" <> '' GROUP BY "SearchEngineID", "SearchPhrase" ORDER BY c DESC LIMIT 10;
|
||||
10 tuples
|
||||
clk: 11.433 sec
|
||||
10 tuples
|
||||
clk: 11.399 sec
|
||||
10 tuples
|
||||
clk: 11.285 sec
|
||||
3
|
||||
SELECT "UserID", count(*) FROM hits GROUP BY "UserID" ORDER BY count(*) DESC LIMIT 10;
|
||||
10 tuples
|
||||
clk: 7.184 sec
|
||||
10 tuples
|
||||
clk: 7.015 sec
|
||||
10 tuples
|
||||
clk: 6.849 sec
|
||||
3
|
||||
SELECT "UserID", "SearchPhrase", count(*) FROM hits GROUP BY "UserID", "SearchPhrase" ORDER BY count(*) DESC LIMIT 10;
|
||||
10 tuples
|
||||
clk: 29.096 sec
|
||||
10 tuples
|
||||
clk: 28.328 sec
|
||||
10 tuples
|
||||
clk: 29.247 sec
|
||||
3
|
||||
SELECT "UserID", "SearchPhrase", count(*) FROM hits GROUP BY "UserID", "SearchPhrase" LIMIT 10;
|
||||
10 tuples
|
||||
clk: 29.457 sec
|
||||
10 tuples
|
||||
clk: 29.364 sec
|
||||
10 tuples
|
||||
clk: 29.269 sec
|
||||
3
|
||||
SELECT "UserID", extract(minute FROM "EventTime") AS m, "SearchPhrase", count(*) FROM hits GROUP BY "UserID", m, "SearchPhrase" ORDER BY count(*) DESC LIMIT 10;
|
||||
10 tuples
|
||||
clk: 47.141 sec
|
||||
10 tuples
|
||||
clk: 46.495 sec
|
||||
10 tuples
|
||||
clk: 46.472 sec
|
||||
3
|
||||
SELECT "UserID" FROM hits WHERE "UserID" = -6101065172474983726;
|
||||
0 tuples
|
||||
clk: 783.332 ms
|
||||
0 tuples
|
||||
clk: 771.157 ms
|
||||
0 tuples
|
||||
clk: 783.082 ms
|
||||
3
|
||||
SELECT count(*) FROM hits WHERE "URL" LIKE '%metrika%';
|
||||
1 tuple
|
||||
clk: 3.963 sec
|
||||
1 tuple
|
||||
clk: 3.930 sec
|
||||
1 tuple
|
||||
clk: 3.964 sec
|
||||
3
|
||||
SELECT "SearchPhrase", min("URL"), count(*) AS c FROM hits WHERE "URL" LIKE '%metrika%' AND "SearchPhrase" <> '' GROUP BY "SearchPhrase" ORDER BY c DESC LIMIT 10;
|
||||
10 tuples
|
||||
clk: 3.925 sec
|
||||
10 tuples
|
||||
clk: 3.817 sec
|
||||
10 tuples
|
||||
clk: 3.802 sec
|
||||
3
|
||||
SELECT "SearchPhrase", min("URL"), min("Title"), count(*) AS c, COUNT(DISTINCT "UserID") FROM hits WHERE "Title" LIKE '%Яндекс%' AND "URL" NOT LIKE '%.yandex.%' AND "SearchPhrase" <> '' GROUP BY "SearchPhrase" ORDER BY c DESC LIMIT 10;
|
||||
10 tuples
|
||||
clk: 6.067 sec
|
||||
10 tuples
|
||||
clk: 6.120 sec
|
||||
10 tuples
|
||||
clk: 6.012 sec
|
||||
3
|
||||
SELECT * FROM hits WHERE "URL" LIKE '%metrika%' ORDER BY "EventTime" LIMIT 10;
|
||||
10 tuples !87 columns dropped, 29 fields truncated!
|
||||
clk: 4.251 sec
|
||||
10 tuples !87 columns dropped, 29 fields truncated!
|
||||
clk: 4.190 sec
|
||||
10 tuples !87 columns dropped, 29 fields truncated!
|
||||
clk: 4.379 sec
|
||||
3
|
||||
SELECT "SearchPhrase" FROM hits WHERE "SearchPhrase" <> '' ORDER BY "EventTime" LIMIT 10;
|
||||
10 tuples
|
||||
clk: 6.699 sec
|
||||
10 tuples
|
||||
clk: 6.718 sec
|
||||
10 tuples
|
||||
clk: 6.802 sec
|
||||
3
|
||||
SELECT "SearchPhrase" FROM hits WHERE "SearchPhrase" <> '' ORDER BY "SearchPhrase" LIMIT 10;
|
||||
10 tuples
|
||||
clk: 6.887 sec
|
||||
10 tuples
|
||||
clk: 6.838 sec
|
||||
10 tuples
|
||||
clk: 6.844 sec
|
||||
3
|
||||
SELECT "SearchPhrase" FROM hits WHERE "SearchPhrase" <> '' ORDER BY "EventTime", "SearchPhrase" LIMIT 10;
|
||||
10 tuples
|
||||
clk: 6.806 sec
|
||||
10 tuples
|
||||
clk: 6.878 sec
|
||||
10 tuples
|
||||
clk: 6.807 sec
|
||||
3
|
||||
SELECT "CounterID", avg(length("URL")) AS l, count(*) AS c FROM hits WHERE "URL" <> '' GROUP BY "CounterID" HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25;
|
||||
25 tuples
|
||||
clk: 1:01 min
|
||||
25 tuples
|
||||
clk: 55.553 sec
|
||||
25 tuples
|
||||
clk: 56.188 sec
|
||||
3
|
||||
SELECT sys.getdomain("Referer") AS key, avg(length("Referer")) AS l, count(*) AS c, min("Referer") FROM hits WHERE "Referer" <> '' GROUP BY key HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25;
|
||||
clk: 1:00 min
|
||||
clk: 1:00 min
|
||||
clk: 1:00 min
|
||||
3
|
||||
SELECT sum("ResolutionWidth"), sum("ResolutionWidth" + 1), sum("ResolutionWidth" + 2), sum("ResolutionWidth" + 3), sum("ResolutionWidth" + 4), sum("ResolutionWidth" + 5), sum("ResolutionWidth" + 6), sum("ResolutionWidth" + 7), sum("ResolutionWidth" + 8), sum("ResolutionWidth" + 9), sum("ResolutionWidth" + 10), sum("ResolutionWidth" + 11), sum("ResolutionWidth" + 12), sum("ResolutionWidth" + 13), sum("ResolutionWidth" + 14), sum("ResolutionWidth" + 15), sum("ResolutionWidth" + 16), sum("ResolutionWidth" + 17), sum("ResolutionWidth" + 18), sum("ResolutionWidth" + 19), sum("ResolutionWidth" + 20), sum("ResolutionWidth" + 21), sum("ResolutionWidth" + 22), sum("ResolutionWidth" + 23), sum("ResolutionWidth" + 24), sum("ResolutionWidth" + 25), sum("ResolutionWidth" + 26), sum("ResolutionWidth" + 27), sum("ResolutionWidth" + 28), sum("ResolutionWidth" + 29), sum("ResolutionWidth" + 30), sum("ResolutionWidth" + 31), sum("ResolutionWidth" + 32), sum("ResolutionWidth" + 33), sum("ResolutionWidth" + 34), sum("ResolutionWidth" + 35), sum("ResolutionWidth" + 36), sum("ResolutionWidth" + 37), sum("ResolutionWidth" + 38), sum("ResolutionWidth" + 39), sum("ResolutionWidth" + 40), sum("ResolutionWidth" + 41), sum("ResolutionWidth" + 42), sum("ResolutionWidth" + 43), sum("ResolutionWidth" + 44), sum("ResolutionWidth" + 45), sum("ResolutionWidth" + 46), sum("ResolutionWidth" + 47), sum("ResolutionWidth" + 48), sum("ResolutionWidth" + 49), sum("ResolutionWidth" + 50), sum("ResolutionWidth" + 51), sum("ResolutionWidth" + 52), sum("ResolutionWidth" + 53), sum("ResolutionWidth" + 54), sum("ResolutionWidth" + 55), sum("ResolutionWidth" + 56), sum("ResolutionWidth" + 57), sum("ResolutionWidth" + 58), sum("ResolutionWidth" + 59), sum("ResolutionWidth" + 60), sum("ResolutionWidth" + 61), sum("ResolutionWidth" + 62), sum("ResolutionWidth" + 63), sum("ResolutionWidth" + 64), sum("ResolutionWidth" + 65), sum("ResolutionWidth" + 66), sum("ResolutionWidth" + 67), sum("ResolutionWidth" + 68), sum("ResolutionWidth" + 69), sum("ResolutionWidth" + 70), sum("ResolutionWidth" + 71), sum("ResolutionWidth" + 72), sum("ResolutionWidth" + 73), sum("ResolutionWidth" + 74), sum("ResolutionWidth" + 75), sum("ResolutionWidth" + 76), sum("ResolutionWidth" + 77), sum("ResolutionWidth" + 78), sum("ResolutionWidth" + 79), sum("ResolutionWidth" + 80), sum("ResolutionWidth" + 81), sum("ResolutionWidth" + 82), sum("ResolutionWidth" + 83), sum("ResolutionWidth" + 84), sum("ResolutionWidth" + 85), sum("ResolutionWidth" + 86), sum("ResolutionWidth" + 87), sum("ResolutionWidth" + 88), sum("ResolutionWidth" + 89) FROM hits;
|
||||
1 tuple !77 columns dropped!
|
||||
clk: 6.221 sec
|
||||
1 tuple !77 columns dropped!
|
||||
clk: 6.170 sec
|
||||
1 tuple !77 columns dropped!
|
||||
clk: 6.382 sec
|
||||
3
|
||||
SELECT "SearchEngineID", "ClientIP", count(*) AS c, sum("Refresh"), avg("ResolutionWidth") FROM hits WHERE "SearchPhrase" <> '' GROUP BY "SearchEngineID", "ClientIP" ORDER BY c DESC LIMIT 10;
|
||||
10 tuples
|
||||
clk: 5.684 sec
|
||||
10 tuples
|
||||
clk: 5.585 sec
|
||||
10 tuples
|
||||
clk: 5.463 sec
|
||||
3
|
||||
SELECT "WatchID", "ClientIP", count(*) AS c, sum("Refresh"), avg("ResolutionWidth") FROM hits WHERE "SearchPhrase" <> '' GROUP BY "WatchID", "ClientIP" ORDER BY c DESC LIMIT 10;
|
||||
10 tuples
|
||||
clk: 6.281 sec
|
||||
10 tuples
|
||||
clk: 6.574 sec
|
||||
10 tuples
|
||||
clk: 6.243 sec
|
||||
3
|
||||
SELECT "WatchID", "ClientIP", count(*) AS c, sum("Refresh"), avg("ResolutionWidth") FROM hits GROUP BY "WatchID", "ClientIP" ORDER BY c DESC LIMIT 10;
|
||||
10 tuples
|
||||
clk: 44.641 sec
|
||||
10 tuples
|
||||
clk: 41.904 sec
|
||||
10 tuples
|
||||
clk: 43.218 sec
|
||||
3
|
||||
SELECT "URL", count(*) AS c FROM hits GROUP BY "URL" ORDER BY c DESC LIMIT 10;
|
||||
10 tuples
|
||||
clk: 1:24 min
|
||||
10 tuples
|
||||
clk: 1:31 min
|
||||
10 tuples
|
||||
clk: 1:24 min
|
||||
3
|
||||
SELECT 1, "URL", count(*) AS c FROM hits GROUP BY 1, "URL" ORDER BY c DESC LIMIT 10;
|
||||
10 tuples
|
||||
clk: 1:24 min
|
||||
10 tuples
|
||||
clk: 1:25 min
|
||||
10 tuples
|
||||
clk: 1:24 min
|
||||
3
|
||||
SELECT "ClientIP", "ClientIP" - 1, "ClientIP" - 2, "ClientIP" - 3, count(*) AS c FROM hits GROUP BY "ClientIP", "ClientIP" - 1, "ClientIP" - 2, "ClientIP" - 3 ORDER BY c DESC LIMIT 10;
|
||||
10 tuples
|
||||
clk: 26.438 sec
|
||||
10 tuples
|
||||
clk: 26.033 sec
|
||||
10 tuples
|
||||
clk: 26.147 sec
|
||||
3
|
||||
SELECT "URL", count(*) AS "PageViews" FROM hits WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-31' AND "DontCountHits" = 0 AND "Refresh" = 0 AND "URL" <> '' GROUP BY "URL" ORDER BY "PageViews" DESC LIMIT 10;
|
||||
10 tuples
|
||||
clk: 4.825 sec
|
||||
10 tuples
|
||||
clk: 4.618 sec
|
||||
10 tuples
|
||||
clk: 4.623 sec
|
||||
3
|
||||
SELECT "Title", count(*) AS "PageViews" FROM hits WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-31' AND "DontCountHits" = 0 AND "Refresh" = 0 AND "Title" <> '' GROUP BY "Title" ORDER BY "PageViews" DESC LIMIT 10;
|
||||
10 tuples
|
||||
clk: 4.380 sec
|
||||
10 tuples
|
||||
clk: 4.418 sec
|
||||
10 tuples
|
||||
clk: 4.413 sec
|
||||
3
|
||||
SELECT "URL", count(*) AS "PageViews" FROM hits WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-31' AND "Refresh" = 0 AND "IsLink" <> 0 AND "IsDownload" = 0 GROUP BY "URL" ORDER BY "PageViews" DESC LIMIT 1000;
|
||||
1000 tuples
|
||||
clk: 4.259 sec
|
||||
1000 tuples
|
||||
clk: 4.195 sec
|
||||
1000 tuples
|
||||
clk: 4.195 sec
|
||||
3
|
||||
SELECT "TraficSourceID", "SearchEngineID", "AdvEngineID", CASE WHEN ("SearchEngineID" = 0 AND "AdvEngineID" = 0) THEN "Referer" ELSE '' END AS Src, "URL" AS Dst, count(*) AS "PageViews" FROM hits WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-31' AND "Refresh" = 0 GROUP BY "TraficSourceID", "SearchEngineID", "AdvEngineID", CASE WHEN ("SearchEngineID" = 0 AND "AdvEngineID" = 0) THEN "Referer" ELSE '' END, "URL" ORDER BY "PageViews" DESC LIMIT 1000;
|
||||
1000 tuples
|
||||
clk: 3.233 sec
|
||||
1000 tuples
|
||||
clk: 3.180 sec
|
||||
1000 tuples
|
||||
clk: 3.181 sec
|
||||
3
|
||||
SELECT "URLHash", "EventDate", count(*) AS "PageViews" FROM hits WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-31' AND "Refresh" = 0 AND "TraficSourceID" IN (-1, 6) AND "RefererHash" = 686716256552154761 GROUP BY "URLHash", "EventDate" ORDER BY "PageViews" DESC LIMIT 100;
|
||||
0 tuples
|
||||
clk: 2.656 sec
|
||||
0 tuples
|
||||
clk: 2.557 sec
|
||||
0 tuples
|
||||
clk: 2.561 sec
|
||||
3
|
||||
SELECT "WindowClientWidth", "WindowClientHeight", count(*) AS "PageViews" FROM hits WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-31' AND "Refresh" = 0 AND "DontCountHits" = 0 AND "URLHash" = 686716256552154761 GROUP BY "WindowClientWidth", "WindowClientHeight" ORDER BY "PageViews" DESC LIMIT 10000;
|
||||
0 tuples
|
||||
clk: 4.161 sec
|
||||
0 tuples
|
||||
clk: 4.243 sec
|
||||
0 tuples
|
||||
clk: 4.166 sec
|
||||
3
|
||||
SELECT DATE_TRUNC('minute', "EventTime") AS "Minute", count(*) AS "PageViews" FROM hits WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-02' AND "Refresh" = 0 AND "DontCountHits" = 0 GROUP BY DATE_TRUNC('minute', "EventTime") ORDER BY DATE_TRUNC('minute', "EventTime");
|
||||
0 tuples
|
||||
clk: 4.199 sec
|
||||
0 tuples
|
||||
clk: 4.211 sec
|
||||
0 tuples
|
||||
clk: 4.190 sec
|
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,111 +1,43 @@
|
||||
SELECT count(*) FROM hits_10m;
|
||||
SELECT count(*) FROM hits_10m WHERE AdvEngineID <> 0;
|
||||
SELECT sum(AdvEngineID), count(*), avg(ResolutionWidth) FROM hits_10m;
|
||||
SELECT sum(UserID) FROM hits_10m;
|
||||
SELECT count(DISTINCT UserID) FROM hits_10m;
|
||||
SELECT count(DISTINCT SearchPhrase) FROM hits_10m;
|
||||
SELECT min(EventDate), max(EventDate) FROM hits_10m;
|
||||
|
||||
SELECT AdvEngineID, count(*) FROM hits_10m WHERE AdvEngineID <> 0 GROUP BY AdvEngineID ORDER BY count(*) DESC;
|
||||
-- мощная фильтрация. После фильтрации почти ничего не остаётся, но делаем ещё агрегацию.;
|
||||
|
||||
SELECT RegionID, count(DISTINCT UserID) AS u FROM hits_10m GROUP BY RegionID ORDER BY u DESC LIMIT 10;
|
||||
-- агрегация, среднее количество ключей.;
|
||||
|
||||
SELECT RegionID, sum(AdvEngineID), count(*) AS c, avg(ResolutionWidth), count(DISTINCT UserID) FROM hits_10m GROUP BY RegionID ORDER BY count(*) DESC LIMIT 10;
|
||||
-- агрегация, среднее количество ключей, несколько агрегатных функций.;
|
||||
|
||||
SELECT MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel <> '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10;
|
||||
-- мощная фильтрация по строкам, затем агрегация по строкам.;
|
||||
|
||||
SELECT MobilePhone, MobilePhoneModel, count(DISTINCT UserID) AS u FROM hits_10m WHERE MobilePhoneModel <> '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10;
|
||||
-- мощная фильтрация по строкам, затем агрегация по паре из числа и строки.;
|
||||
|
||||
SELECT SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase <> '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10;
|
||||
-- средняя фильтрация по строкам, затем агрегация по строкам, большое количество ключей.;
|
||||
|
||||
SELECT SearchPhrase, count(DISTINCT UserID) AS u FROM hits_10m WHERE SearchPhrase <> '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10;
|
||||
-- агрегация чуть сложнее.;
|
||||
|
||||
SELECT SearchEngineID, SearchPhrase, count(*) FROM hits_10m WHERE SearchPhrase <> '' GROUP BY SearchEngineID, SearchPhrase ORDER BY count(*) DESC LIMIT 10;
|
||||
-- агрегация по числу и строке, большое количество ключей.;
|
||||
|
||||
SELECT UserID, count(*) FROM hits_10m GROUP BY UserID ORDER BY count(*) DESC LIMIT 10;
|
||||
-- агрегация по очень большому количеству ключей, может не хватить оперативки.;
|
||||
|
||||
SELECT UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase ORDER BY count(*) DESC LIMIT 10;
|
||||
-- ещё более сложная агрегация.;
|
||||
|
||||
SELECT UserID, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, SearchPhrase LIMIT 10;
|
||||
-- то же самое, но без сортировки.;
|
||||
|
||||
SELECT UserID, extract (minute from EventTime) AS m, SearchPhrase, count(*) FROM hits_10m GROUP BY UserID, m, SearchPhrase ORDER BY count(*) DESC LIMIT 10;
|
||||
-- ещё более сложная агрегация, не стоит выполнять на больших таблицах.;
|
||||
|
||||
SELECT UserID FROM hits_10m WHERE UserID = 1234567890;
|
||||
-- мощная фильтрация по столбцу типа UInt64.;
|
||||
|
||||
SELECT count(*) FROM hits_10m WHERE URL LIKE '%metrika%';
|
||||
-- фильтрация по поиску подстроки в строке.;
|
||||
|
||||
SELECT SearchPhrase, MAX(URL), count(*) FROM hits_10m WHERE URL LIKE '%metrika%' AND SearchPhrase <> '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10;
|
||||
-- вынимаем большие столбцы, фильтрация по строке.;
|
||||
|
||||
SELECT SearchPhrase, MAX(URL), MAX(Title), count(*) AS c, count(DISTINCT UserID) FROM hits_10m WHERE Title LIKE '%Яндекс%' AND URL <> '%.yandex.%' AND SearchPhrase <> '' GROUP BY SearchPhrase ORDER BY count(*) DESC LIMIT 10;
|
||||
-- чуть больше столбцы.;
|
||||
|
||||
SELECT * FROM hits_10m WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10;
|
||||
-- плохой запрос - вынимаем все столбцы.;
|
||||
|
||||
SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase <> '' ORDER BY EventTime LIMIT 10;
|
||||
-- большая сортировка.;
|
||||
|
||||
SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase <> '' ORDER BY SearchPhrase LIMIT 10;
|
||||
-- большая сортировка по строкам.;
|
||||
|
||||
SELECT SearchPhrase FROM hits_10m WHERE SearchPhrase <> '' ORDER BY EventTime, SearchPhrase LIMIT 10;
|
||||
-- большая сортировка по кортежу.;
|
||||
|
||||
SELECT CounterID, avg(length(URL)) AS l, count(*) FROM hits_10m WHERE URL <> '' GROUP BY CounterID HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25;
|
||||
-- считаем средние длины URL для крупных счётчиков.;
|
||||
|
||||
SELECT SUBSTRING( SUBSTRING(Referer, POSITION('//' IN Referer) + 2), 1, ifthenelse( (0 > POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1), 0, POSITION('/' IN SUBSTRING(Referer, POSITION('//' IN Referer) + 2)) - 1 ) ) AS k, avg(length(Referer)) AS l, count(*) AS c, MAX(Referer) FROM hits_10m WHERE Referer <> '' GROUP BY k HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25;
|
||||
-- то же самое, но с разбивкой по доменам.;
|
||||
|
||||
SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits_10m;
|
||||
-- много тупых агрегатных функций.;
|
||||
|
||||
SELECT SearchEngineID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase <> '' GROUP BY SearchEngineID, ClientIP ORDER BY count(*) DESC LIMIT 10;
|
||||
-- сложная агрегация, для больших таблиц может не хватить оперативки.;
|
||||
|
||||
SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m WHERE SearchPhrase <> '' GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10;
|
||||
-- агрегация по двум полям, которая ничего не агрегирует. Для больших таблиц выполнить не получится.;
|
||||
|
||||
SELECT WatchID, ClientIP, count(*) AS c, sum(Refresh), avg(ResolutionWidth) FROM hits_10m GROUP BY WatchID, ClientIP ORDER BY count(*) DESC LIMIT 10;
|
||||
-- то же самое, но ещё и без фильтрации.;
|
||||
|
||||
SELECT URL, count(*) FROM hits_10m GROUP BY URL ORDER BY count(*) DESC LIMIT 10;
|
||||
-- агрегация по URL.;
|
||||
|
||||
SELECT 1, URL, count(*) FROM hits_10m GROUP BY 1, URL ORDER BY count(*) DESC LIMIT 10;
|
||||
-- агрегация по URL и числу.;
|
||||
|
||||
SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, count(*) FROM hits_10m GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY count(*) DESC LIMIT 10;
|
||||
|
||||
SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND NOT DontCountHits AND NOT Refresh AND URL <> '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10;
|
||||
|
||||
|
||||
SELECT Title, count(*) AS PageViews FROM hits_10m WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND NOT DontCountHits AND NOT Refresh AND Title <> '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10;
|
||||
|
||||
|
||||
SELECT URL, count(*) AS PageViews FROM hits_10m WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND NOT Refresh AND IsLink AND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000;
|
||||
|
||||
|
||||
SELECT TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN SearchEngineID = 0 AND AdvEngineID = 0 THEN Referer ELSE '' END AS Src, URL AS Dst, count(*) AS PageViews FROM hits_10m WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND NOT Refresh GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 1000;
|
||||
|
||||
|
||||
SELECT URLHash, EventDate, count(*) AS PageViews FROM hits_10m WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND NOT Refresh AND TraficSourceID IN (-1, 6) AND RefererHash = 6202628419148573758 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 100000;
|
||||
|
||||
SELECT WindowClientWidth, WindowClientHeight, count(*) AS PageViews FROM hits_10m WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND NOT Refresh AND NOT DontCountHits AND URLHash = 6202628419148573758 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10000;
|
||||
|
||||
SELECT EventTime - extract (SECOND from EventTime) AS M, count(*) AS PageViews FROM hits_10m WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-02' AND NOT Refresh AND NOT DontCountHits GROUP BY M ORDER BY M;
|
||||
SELECT count(*) FROM {table};
|
||||
SELECT count(*) FROM {table} WHERE "AdvEngineID" <> 0;
|
||||
SELECT sum("AdvEngineID"), count(*), avg("ResolutionWidth") FROM {table};
|
||||
SELECT sum("UserID") FROM {table};
|
||||
SELECT COUNT(DISTINCT "UserID") FROM {table};
|
||||
SELECT COUNT(DISTINCT "SearchPhrase") FROM {table};
|
||||
SELECT min("EventDate"), max("EventDate") FROM {table};
|
||||
SELECT "AdvEngineID", count(*) FROM {table} WHERE "AdvEngineID" <> 0 GROUP BY "AdvEngineID" ORDER BY count(*) DESC;
|
||||
SELECT "RegionID", COUNT(DISTINCT "UserID") AS u FROM {table} GROUP BY "RegionID" ORDER BY u DESC LIMIT 10;
|
||||
SELECT "RegionID", sum("AdvEngineID"), count(*) AS c, avg("ResolutionWidth"), COUNT(DISTINCT "UserID") FROM {table} GROUP BY "RegionID" ORDER BY c DESC LIMIT 10;
|
||||
SELECT "MobilePhoneModel", COUNT(DISTINCT "UserID") AS u FROM {table} WHERE "MobilePhoneModel" <> '' GROUP BY "MobilePhoneModel" ORDER BY u DESC LIMIT 10;
|
||||
SELECT "MobilePhone", "MobilePhoneModel", COUNT(DISTINCT "UserID") AS u FROM {table} WHERE "MobilePhoneModel" <> '' GROUP BY "MobilePhone", "MobilePhoneModel" ORDER BY u DESC LIMIT 10;
|
||||
SELECT "SearchPhrase", count(*) AS c FROM {table} WHERE "SearchPhrase" <> '' GROUP BY "SearchPhrase" ORDER BY c DESC LIMIT 10;
|
||||
SELECT "SearchPhrase", COUNT(DISTINCT "UserID") AS u FROM {table} WHERE "SearchPhrase" <> '' GROUP BY "SearchPhrase" ORDER BY u DESC LIMIT 10;
|
||||
SELECT "SearchEngineID", "SearchPhrase", count(*) AS c FROM {table} WHERE "SearchPhrase" <> '' GROUP BY "SearchEngineID", "SearchPhrase" ORDER BY c DESC LIMIT 10;
|
||||
SELECT "UserID", count(*) FROM {table} GROUP BY "UserID" ORDER BY count(*) DESC LIMIT 10;
|
||||
SELECT "UserID", "SearchPhrase", count(*) FROM {table} GROUP BY "UserID", "SearchPhrase" ORDER BY count(*) DESC LIMIT 10;
|
||||
SELECT "UserID", "SearchPhrase", count(*) FROM {table} GROUP BY "UserID", "SearchPhrase" LIMIT 10;
|
||||
SELECT "UserID", extract(minute FROM "EventTime") AS m, "SearchPhrase", count(*) FROM {table} GROUP BY "UserID", m, "SearchPhrase" ORDER BY count(*) DESC LIMIT 10;
|
||||
SELECT "UserID" FROM {table} WHERE "UserID" = -6101065172474983726;
|
||||
SELECT count(*) FROM {table} WHERE "URL" LIKE '%metrika%';
|
||||
SELECT "SearchPhrase", min("URL"), count(*) AS c FROM {table} WHERE "URL" LIKE '%metrika%' AND "SearchPhrase" <> '' GROUP BY "SearchPhrase" ORDER BY c DESC LIMIT 10;
|
||||
SELECT "SearchPhrase", min("URL"), min("Title"), count(*) AS c, COUNT(DISTINCT "UserID") FROM {table} WHERE "Title" LIKE '%Яндекс%' AND "URL" NOT LIKE '%.yandex.%' AND "SearchPhrase" <> '' GROUP BY "SearchPhrase" ORDER BY c DESC LIMIT 10;
|
||||
SELECT * FROM {table} WHERE "URL" LIKE '%metrika%' ORDER BY "EventTime" LIMIT 10;
|
||||
SELECT "SearchPhrase" FROM {table} WHERE "SearchPhrase" <> '' ORDER BY "EventTime" LIMIT 10;
|
||||
SELECT "SearchPhrase" FROM {table} WHERE "SearchPhrase" <> '' ORDER BY "SearchPhrase" LIMIT 10;
|
||||
SELECT "SearchPhrase" FROM {table} WHERE "SearchPhrase" <> '' ORDER BY "EventTime", "SearchPhrase" LIMIT 10;
|
||||
SELECT "CounterID", avg(length("URL")) AS l, count(*) AS c FROM {table} WHERE "URL" <> '' GROUP BY "CounterID" HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25;
|
||||
SELECT sys.getdomain("Referer") AS key, avg(length("Referer")) AS l, count(*) AS c, min("Referer") FROM {table} WHERE "Referer" <> '' GROUP BY key HAVING count(*) > 100000 ORDER BY l DESC LIMIT 25;
|
||||
SELECT sum("ResolutionWidth"), sum("ResolutionWidth" + 1), sum("ResolutionWidth" + 2), sum("ResolutionWidth" + 3), sum("ResolutionWidth" + 4), sum("ResolutionWidth" + 5), sum("ResolutionWidth" + 6), sum("ResolutionWidth" + 7), sum("ResolutionWidth" + 8), sum("ResolutionWidth" + 9), sum("ResolutionWidth" + 10), sum("ResolutionWidth" + 11), sum("ResolutionWidth" + 12), sum("ResolutionWidth" + 13), sum("ResolutionWidth" + 14), sum("ResolutionWidth" + 15), sum("ResolutionWidth" + 16), sum("ResolutionWidth" + 17), sum("ResolutionWidth" + 18), sum("ResolutionWidth" + 19), sum("ResolutionWidth" + 20), sum("ResolutionWidth" + 21), sum("ResolutionWidth" + 22), sum("ResolutionWidth" + 23), sum("ResolutionWidth" + 24), sum("ResolutionWidth" + 25), sum("ResolutionWidth" + 26), sum("ResolutionWidth" + 27), sum("ResolutionWidth" + 28), sum("ResolutionWidth" + 29), sum("ResolutionWidth" + 30), sum("ResolutionWidth" + 31), sum("ResolutionWidth" + 32), sum("ResolutionWidth" + 33), sum("ResolutionWidth" + 34), sum("ResolutionWidth" + 35), sum("ResolutionWidth" + 36), sum("ResolutionWidth" + 37), sum("ResolutionWidth" + 38), sum("ResolutionWidth" + 39), sum("ResolutionWidth" + 40), sum("ResolutionWidth" + 41), sum("ResolutionWidth" + 42), sum("ResolutionWidth" + 43), sum("ResolutionWidth" + 44), sum("ResolutionWidth" + 45), sum("ResolutionWidth" + 46), sum("ResolutionWidth" + 47), sum("ResolutionWidth" + 48), sum("ResolutionWidth" + 49), sum("ResolutionWidth" + 50), sum("ResolutionWidth" + 51), sum("ResolutionWidth" + 52), sum("ResolutionWidth" + 53), sum("ResolutionWidth" + 54), sum("ResolutionWidth" + 55), sum("ResolutionWidth" + 56), sum("ResolutionWidth" + 57), sum("ResolutionWidth" + 58), sum("ResolutionWidth" + 59), sum("ResolutionWidth" + 60), sum("ResolutionWidth" + 61), sum("ResolutionWidth" + 62), sum("ResolutionWidth" + 63), sum("ResolutionWidth" + 64), sum("ResolutionWidth" + 65), sum("ResolutionWidth" + 66), sum("ResolutionWidth" + 67), sum("ResolutionWidth" + 68), sum("ResolutionWidth" + 69), sum("ResolutionWidth" + 70), sum("ResolutionWidth" + 71), sum("ResolutionWidth" + 72), sum("ResolutionWidth" + 73), sum("ResolutionWidth" + 74), sum("ResolutionWidth" + 75), sum("ResolutionWidth" + 76), sum("ResolutionWidth" + 77), sum("ResolutionWidth" + 78), sum("ResolutionWidth" + 79), sum("ResolutionWidth" + 80), sum("ResolutionWidth" + 81), sum("ResolutionWidth" + 82), sum("ResolutionWidth" + 83), sum("ResolutionWidth" + 84), sum("ResolutionWidth" + 85), sum("ResolutionWidth" + 86), sum("ResolutionWidth" + 87), sum("ResolutionWidth" + 88), sum("ResolutionWidth" + 89) FROM {table};
|
||||
SELECT "SearchEngineID", "ClientIP", count(*) AS c, sum("Refresh"), avg("ResolutionWidth") FROM {table} WHERE "SearchPhrase" <> '' GROUP BY "SearchEngineID", "ClientIP" ORDER BY c DESC LIMIT 10;
|
||||
SELECT "WatchID", "ClientIP", count(*) AS c, sum("Refresh"), avg("ResolutionWidth") FROM {table} WHERE "SearchPhrase" <> '' GROUP BY "WatchID", "ClientIP" ORDER BY c DESC LIMIT 10;
|
||||
SELECT "WatchID", "ClientIP", count(*) AS c, sum("Refresh"), avg("ResolutionWidth") FROM {table} GROUP BY "WatchID", "ClientIP" ORDER BY c DESC LIMIT 10;
|
||||
SELECT "URL", count(*) AS c FROM {table} GROUP BY "URL" ORDER BY c DESC LIMIT 10;
|
||||
SELECT 1, "URL", count(*) AS c FROM {table} GROUP BY 1, "URL" ORDER BY c DESC LIMIT 10;
|
||||
SELECT "ClientIP", "ClientIP" - 1, "ClientIP" - 2, "ClientIP" - 3, count(*) AS c FROM {table} GROUP BY "ClientIP", "ClientIP" - 1, "ClientIP" - 2, "ClientIP" - 3 ORDER BY c DESC LIMIT 10;
|
||||
SELECT "URL", count(*) AS "PageViews" FROM {table} WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-31' AND "DontCountHits" = 0 AND "Refresh" = 0 AND "URL" <> '' GROUP BY "URL" ORDER BY "PageViews" DESC LIMIT 10;
|
||||
SELECT "Title", count(*) AS "PageViews" FROM {table} WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-31' AND "DontCountHits" = 0 AND "Refresh" = 0 AND "Title" <> '' GROUP BY "Title" ORDER BY "PageViews" DESC LIMIT 10;
|
||||
SELECT "URL", count(*) AS "PageViews" FROM {table} WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-31' AND "Refresh" = 0 AND "IsLink" <> 0 AND "IsDownload" = 0 GROUP BY "URL" ORDER BY "PageViews" DESC LIMIT 1000;
|
||||
SELECT "TraficSourceID", "SearchEngineID", "AdvEngineID", CASE WHEN ("SearchEngineID" = 0 AND "AdvEngineID" = 0) THEN "Referer" ELSE '' END AS Src, "URL" AS Dst, count(*) AS "PageViews" FROM {table} WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-31' AND "Refresh" = 0 GROUP BY "TraficSourceID", "SearchEngineID", "AdvEngineID", CASE WHEN ("SearchEngineID" = 0 AND "AdvEngineID" = 0) THEN "Referer" ELSE '' END, "URL" ORDER BY "PageViews" DESC LIMIT 1000;
|
||||
SELECT "URLHash", "EventDate", count(*) AS "PageViews" FROM {table} WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-31' AND "Refresh" = 0 AND "TraficSourceID" IN (-1, 6) AND "RefererHash" = 686716256552154761 GROUP BY "URLHash", "EventDate" ORDER BY "PageViews" DESC LIMIT 100;
|
||||
SELECT "WindowClientWidth", "WindowClientHeight", count(*) AS "PageViews" FROM {table} WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-31' AND "Refresh" = 0 AND "DontCountHits" = 0 AND "URLHash" = 686716256552154761 GROUP BY "WindowClientWidth", "WindowClientHeight" ORDER BY "PageViews" DESC LIMIT 10000;
|
||||
SELECT DATE_TRUNC('minute', "EventTime") AS "Minute", count(*) AS "PageViews" FROM {table} WHERE "CounterID" = 62 AND "EventDate" >= '2013-07-01' AND "EventDate" <= '2013-07-02' AND "Refresh" = 0 AND "DontCountHits" = 0 GROUP BY DATE_TRUNC('minute', "EventTime") ORDER BY DATE_TRUNC('minute', "EventTime");
|
||||
|
9
benchmark/monetdb/expect.tcl → benchmark/monetdb/send-query
Normal file → Executable file
9
benchmark/monetdb/expect.tcl → benchmark/monetdb/send-query
Normal file → Executable file
@ -1,5 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
#!/bin/expect
|
||||
#!/usr/bin/expect
|
||||
|
||||
# Set timeout
|
||||
set timeout 600
|
||||
@ -7,14 +6,14 @@ set timeout 600
|
||||
# Get arguments
|
||||
set query [lindex $argv 0]
|
||||
|
||||
spawn mclient -u monetdb -d hits
|
||||
spawn mclient -u monetdb -d test --timer=clock
|
||||
expect "password:"
|
||||
send "monetdb\r"
|
||||
|
||||
expect "sql>"
|
||||
send "$query\r"
|
||||
send "$query;\r"
|
||||
|
||||
expect "sql>"
|
||||
send "\\q\r"
|
||||
|
||||
expect eof
|
||||
expect eof
|
1214
benchmark/monetdb/usability.md
Normal file
1214
benchmark/monetdb/usability.md
Normal file
File diff suppressed because it is too large
Load Diff
@ -47,9 +47,8 @@
|
||||
<p>Some additional results (marked as x2, x3, x6) are for clustered setup for comparison. These results are contributed from independent teams and hardware specification may differ.</p>
|
||||
|
||||
<p>
|
||||
<strong>Disclaimer!</strong> Some results are significantly outdated:
|
||||
<strong>Disclaimer!</strong> Some results are outdated:
|
||||
<ul>
|
||||
<li>Results for MonetDB were obtained in 2013 for version v11.15.11 (Feb2013-SP3)</li>
|
||||
<li>Results for MemSQL were obtained in 2015 for version 3.2.</li>
|
||||
<li>Results for Vertica were obtained in 2015 for version 7.1.1.</li>
|
||||
</ul>
|
||||
|
@ -1,110 +1,55 @@
|
||||
[
|
||||
{
|
||||
"system": "MonetDB",
|
||||
"version": "",
|
||||
"data_size": 10000000,
|
||||
"time": "",
|
||||
"comments": "",
|
||||
"result":
|
||||
[
|
||||
[0.003851, 0.003389, 0.003633],
|
||||
[0.400058, 0.045117, 0.007999],
|
||||
[0.207544, 0.022219, 0.033007],
|
||||
[null, null, null],
|
||||
[0.873236, 0.61427, 0.564001],
|
||||
[3.1, 2.8, 2.9],
|
||||
[0.191616, 0.004704, 0.008579],
|
||||
[0.056658, 0.049444, 0.035463],
|
||||
[5.8, 5.8, 6.4],
|
||||
[5.8, 8.4, 8.5],
|
||||
[0.458164, 0.319166, 0.413914],
|
||||
[0.344021, 0.314183, 0.348057],
|
||||
[6.1, 13.3, 6.1],
|
||||
[5.8, 5.6, 5.5],
|
||||
[54.9, 70.0, 58.4],
|
||||
[0.886465, 0.711899, 0.7329],
|
||||
[5.8, 5.9, 5.9],
|
||||
[5.8, 5.9, 6.0],
|
||||
[20.2, 19.7, 21.0],
|
||||
[0.331309, 0.000618, 0.085817],
|
||||
[2.0, 0.056549, 0.09292],
|
||||
[0.053756, 0.050622, 0.054916],
|
||||
[2.2, 0.069379, 0.066628],
|
||||
[13.0, 0.511351, 0.484708],
|
||||
[0.137787, 0.030937, 0.030501],
|
||||
[0.039574, 0.027741, 0.025684],
|
||||
[0.046094, 0.043038, 0.039139],
|
||||
[4.1, 2.7, 2.7],
|
||||
[null, null, null],
|
||||
[1.1, 0.940847, 0.921118],
|
||||
[17.7, 18.2, 17.5],
|
||||
[2.0, 0.236466, 0.236223],
|
||||
[1.3, 1.3, 1.3],
|
||||
[138.0, 140.0, 173.0],
|
||||
[null, null, null],
|
||||
[null, null, null],
|
||||
[169.0, 175.0, null],
|
||||
[261.0, 257.0, 268.0],
|
||||
[3.1, 0.513628, 0.464017],
|
||||
[262.0, 252.0, 257.0],
|
||||
[0.524173, 0.066989, 0.123604],
|
||||
[0.305343, 0.030736, 0.048725],
|
||||
[2.3, 1.9, 1.9]
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"system": "MonetDB",
|
||||
"version": "",
|
||||
"version": "11.37.11 (Jun2020-SP1)",
|
||||
"data_size": 100000000,
|
||||
"time": "",
|
||||
"time": "2020-08-12",
|
||||
"comments": "",
|
||||
"result":
|
||||
[
|
||||
[0.028886, 0.003581, 0.003829],
|
||||
[2.7, 0.139637, 0.060264],
|
||||
[1.1, 0.146556, 0.146063],
|
||||
[null, null, null],
|
||||
[7.5, 5.6, 5.4],
|
||||
[15.5, 12.7, 11.5],
|
||||
[1.0, 0.038566, 0.036837],
|
||||
[0.687604, 0.026271, 0.030261],
|
||||
[195.0, 214.0, null],
|
||||
[254.0, 267.0, 265.0],
|
||||
[22.9, 20.0, 20.8],
|
||||
[20.4, 20.8, 23.3],
|
||||
[97.0, 115.0, null],
|
||||
[111.0, 84.0, 58.8],
|
||||
[656.0, null, null],
|
||||
[6.8, 6.9, 6.7],
|
||||
[264.0, 234.0, 208.0],
|
||||
[222.0, 279.0, null],
|
||||
[1173.0, null, null],
|
||||
[3.9, 0.000787, 0.032566],
|
||||
[27.4, 1.7, 2.1],
|
||||
[4.0, 2.6, 2.6],
|
||||
[null, null, null],
|
||||
[209.0, 155, 143],
|
||||
[10.5, 5.7, 40.9],
|
||||
[4.8, 4.7, 4.7],
|
||||
[85.0, 4.7, 5.7],
|
||||
[52.4, 30.3, 29.1],
|
||||
[null, null, null],
|
||||
[null, null, null],
|
||||
[12.7, 11.2, 11.4],
|
||||
[392.0, 370.0, null],
|
||||
[3.2, 1.8, 1.8],
|
||||
[41.9, 37.0, 40.7],
|
||||
[null, null, null],
|
||||
[null, null, null],
|
||||
[null, null, null],
|
||||
[6.4, 2.3, 2.1],
|
||||
[3.6, 1.0, 1.1],
|
||||
[1.5, 1.2, 1.3],
|
||||
[7.2, 4.6, 4.9],
|
||||
[2.8, 0.050916, 0.04148],
|
||||
[3.0, 0.045935, 0.047277],
|
||||
[2.5, 0.049119, 0.04828]
|
||||
[0.001262, 0.00142, 0.00119],
|
||||
[1.530, 1.489, 1.490],
|
||||
[0.597512, 0.579383, 0.59822],
|
||||
[0.568003, 0.554572, 0.552076],
|
||||
[6.688, 6.689, 6.652],
|
||||
[15.702, 17.189, 15.514],
|
||||
[0.69777, 0.71187, 0.697177],
|
||||
[1.536, 1.505, 1.492],
|
||||
[9.965, 10.106, 10.136],
|
||||
[8.329, 8.601, 8.039],
|
||||
[3.385, 3.321, 3.326],
|
||||
[3.510, 3.431, 3.382],
|
||||
[10.891, 11.483, 10.352],
|
||||
[15.711, 15.444, 15.503],
|
||||
[11.433, 11.399, 11.285],
|
||||
[7.184, 7.015, 6.849],
|
||||
[29.096, 28.328, 29.247],
|
||||
[29.457, 29.364, 29.269],
|
||||
[47.141, 46.495, 46.472],
|
||||
[0.783332, 0.771157, 0.783082],
|
||||
[3.963, 3.930, 3.964],
|
||||
[3.925, 3.817, 3.802],
|
||||
[6.067, 6.120, 6.012],
|
||||
[4.251, 4.190, 4.379],
|
||||
[6.699, 6.718, 6.802],
|
||||
[6.887, 6.838, 6.844],
|
||||
[6.806, 6.878, 6.807],
|
||||
[61, 55.553, 56.188],
|
||||
[60, 60, 60],
|
||||
[6.221, 6.170, 6.382],
|
||||
[5.684, 5.585, 5.463],
|
||||
[6.281, 6.574, 6.243],
|
||||
[44.641, 41.904, 43.218],
|
||||
[84, 91, 84],
|
||||
[84, 85, 84],
|
||||
[26.438, 26.033, 26.147],
|
||||
[4.825, 4.618, 4.623],
|
||||
[4.380, 4.418, 4.413],
|
||||
[4.259, 4.195, 4.195],
|
||||
[3.233, 3.180, 3.181],
|
||||
[2.656, 2.557, 2.561],
|
||||
[4.161, 4.243, 4.166],
|
||||
[4.199, 4.211, 4.190]
|
||||
]
|
||||
}
|
||||
]
|
||||
|
Loading…
Reference in New Issue
Block a user