Skip to content

Instantly share code, notes, and snippets.

View michail-nikolaev's full-sized avatar

Michail Nikolaev michail-nikolaev

  • Belarus\Netherlands
View GitHub Profile
scale projection index_only_fetch page_visibility correlation selectivity protocol vanilla_tps patched_tps
10 True True True 1.0 1.0 simple 5464 5239
10 True True True 1.0 0.66 simple 5225 4774
10 True True True 1.0 0.33 simple 4815 4585
10 True True True 1.0 0.1 simple 3327 3337
10 True True True 1.0 0.01 simple 1099 1335
10 True True True 0.95 1.0 simple 5486 5072
10 True True True 0.95 0.66 simple 5208 5004
10 True True True 0.95 0.33 simple 4664 4573
10 True True True 0.95 0.1 simple 3103 3292
scale projection index_only_fetch page_visibility correlation selectivity protocol vanilla_tps patched_tps
10 True True True 1.0 1.0 simple 5011 4919
10 True True True 1.0 0.66 simple 4709 4586
10 True True True 1.0 0.33 simple 4521 4265
10 True True True 1.0 0.1 simple 3062 3171
10 True True True 1.0 0.01 simple 1163 1235
10 True True True 0.95 1.0 simple 4922 4965
10 True True True 0.95 0.66 simple 4826 4657
10 True True True 0.95 0.33 simple 4516 4015
10 True True True 0.95 0.1 simple 3116 3496
import subprocess
import tempfile
import time
import signal
import os
dir = r'D:/Dev/postgres/install/bin/'
patched_postgres = r'D:/Dev/postgres/install/bin/'
vanilla_postgres = r'D:/Dev/postgres/install_vanilla/bin/'
scale projection index_only_fetch page_visibility correlation selectivity protocol vanilla_tps patched_tps
1 True True True 1.0 1.0 prepared 7260 7608
1 True True True 1.0 0.66 prepared 7783 7741
1 True True True 1.0 0.33 prepared 6840 6798
1 True True True 1.0 0.1 prepared 4305 4695
1 True True True 1.0 0.01 prepared 1305 1518
1 True True True 0.95 1.0 prepared 8248 7890
1 True True True 0.95 0.66 prepared 7701 7695
1 True True True 0.95 0.33 prepared 6648 6789
1 True True True 0.95 0.1 prepared 4122 4740
@michail-nikolaev
michail-nikolaev / index-only-fetch-test.sql
Last active April 8, 2018 19:00
Performance testing for index-only-fetch
--pgbench.exe -i -s ${SCALE} postgres
UPDATE pgbench_accounts SET bid = TRUNC(RANDOM() * 10000000 + 1) ;-- WHERE aid % 2 = 0;
CREATE index test_test on pgbench_accounts using btree(bid, aid);
--vacuum analyze pgbench_accounts;
--pgbench.exe -s 100 -c 8 -j 8 -P 5 -r -T 30 -n -f select-only-fetch.sql postgres
CREATE TABLE ticket AS
SELECT
id,
TRUNC(RANDOM() * 100 + 1) AS project_id,
NOW() + (RANDOM() * (NOW()+'365 days' - NOW())) AS created_date,
repeat((TRUNC(RANDOM() * 100 + 1)::text), 1000) as payload
FROM GENERATE_SERIES(1, 1000000) AS g(id);
CREATE INDEX simple_index ON ticket using btree(project_id, created_date);
@michail-nikolaev
michail-nikolaev / gist:5626132
Last active December 17, 2015 14:39
Oracle 11 XE - create user\scheme and grant
create user nkey identified by password;
GRANT CONNECT, RESOURCE TO nkey;
@michail-nikolaev
michail-nikolaev / build.gradle
Created March 14, 2013 15:01
Gradle - force transitive dependency version for some group
apply plugin: 'java'
configurations.all {
resolutionStrategy {
eachDependency { DependencyResolveDetails details ->
//specifying a fixed version for all libraries with 'org.gradle' group
if (details.requested.group == 'org.springframework') {
details.useVersion "$springVersion"
}
}
@michail-nikolaev
michail-nikolaev / build.gradle
Created January 31, 2013 12:27
Gradle - integration tests
configurations {
integrationTestCompile.extendsFrom testCompile
integrationTestRuntime.extendsFrom testRuntime
}
sourceSets {
integrationTest {
compileClasspath = configurations.integrationTestCompile
runtimeClasspath += configurations.integrationTestRuntime
java {
@michail-nikolaev
michail-nikolaev / gist:4540162
Created January 15, 2013 17:07
Oracle - drop all tables
select 'drop table ' ||table_name||' cascade constraints;' from user_tables;