G.2. TPC-DS Benchmark Test #
G.2.1. Creating Analytical Tables For the TPC-DS Benchmark Test #
Execute the following query:
COPY dbgen_version
TO '/home/test/tpcds_tables100/dbgen_version.parquet'
(FORMAT 'parquet', COMPRESSION 'zstd');
COPY customer_address
TO '/home/test/tpcds_tables100/customer_address.parquet'
(FORMAT 'parquet', COMPRESSION 'zstd');
COPY customer_demographics
TO '/home/test/tpcds_tables100/customer_demographics.parquet'
(FORMAT 'parquet', COMPRESSION 'zstd');
COPY date_dim
TO '/home/test/tpcds_tables100/date_dim.parquet'
(FORMAT 'parquet', COMPRESSION 'zstd');
COPY warehouse
TO '/home/test/tpcds_tables100/warehouse.parquet'
(FORMAT 'parquet', COMPRESSION 'zstd');
COPY ship_mode
TO '/home/test/tpcds_tables100/ship_mode.parquet'
(FORMAT 'parquet', COMPRESSION 'zstd');
COPY time_dim
TO '/home/test/tpcds_tables100/time_dim.parquet'
(FORMAT 'parquet', COMPRESSION 'zstd');
COPY reason
TO '/home/test/tpcds_tables100/reason.parquet'
(FORMAT 'parquet', COMPRESSION 'zstd');
COPY income_band
TO '/home/test/tpcds_tables100/income_band.parquet'
(FORMAT 'parquet', COMPRESSION 'zstd');
COPY item
TO '/home/test/tpcds_tables100/item.parquet'
(FORMAT 'parquet', COMPRESSION 'zstd');
COPY store
TO '/home/test/tpcds_tables100/store.parquet'
(FORMAT 'parquet', COMPRESSION 'zstd');
COPY call_center
TO '/home/test/tpcds_tables100/call_center.parquet'
(FORMAT 'parquet', COMPRESSION 'zstd');
COPY customer
TO '/home/test/tpcds_tables100/customer.parquet'
(FORMAT 'parquet', COMPRESSION 'zstd');
COPY web_site
TO '/home/test/tpcds_tables100/web_site.parquet'
(FORMAT 'parquet', COMPRESSION 'zstd');
COPY store_returns
TO '/home/test/tpcds_tables100/store_returns.parquet'
(FORMAT 'parquet', COMPRESSION 'zstd');
COPY household_demographics
TO '/home/test/tpcds_tables100/household_demographics.parquet'
(FORMAT 'parquet', COMPRESSION 'zstd');
COPY web_page
TO '/home/test/tpcds_tables100/web_page.parquet'
(FORMAT 'parquet', COMPRESSION 'zstd');
COPY promotion
TO '/home/test/tpcds_tables100/promotion.parquet'
(FORMAT 'parquet', COMPRESSION 'zstd');
COPY catalog_page
TO '/home/test/tpcds_tables100/catalog_page.parquet'
(FORMAT 'parquet', COMPRESSION 'zstd');
COPY inventory
TO '/home/test/tpcds_tables100/inventory.parquet'
(FORMAT 'parquet', COMPRESSION 'zstd');
COPY catalog_returns
TO '/home/test/tpcds_tables100/catalog_returns.parquet'
(FORMAT 'parquet', COMPRESSION 'zstd');
COPY web_returns
TO '/home/test/tpcds_tables100/web_returns.parquet'
(FORMAT 'parquet', COMPRESSION 'zstd');
COPY web_sales
TO '/home/test/tpcds_tables100/web_sales.parquet'
(FORMAT 'parquet', COMPRESSION 'zstd');
COPY catalog_sales
TO '/home/test/tpcds_tables100/catalog_sales.parquet'
(FORMAT 'parquet', COMPRESSION 'zstd');
COPY store_sales
TO '/home/test/tpcds_tables100/store_sales.parquet'
(FORMAT 'parquet', COMPRESSION 'zstd');
CREATE VIEW dbgen_version_parquet AS SELECT
r['dv_version']::text AS dv_version,
r['dv_create_date']::date AS dv_create_date,
r['dv_create_time']::time AS dv_create_time,
r['dv_cmdline_args']::text AS dv_cmdline_args FROM
read_parquet('/home/test/tpcds_tables100/dbgen_version.parquet', binary_as_string => true) r;
CREATE VIEW customer_address_parquet AS SElECT
r['ca_address_sk']::integer AS ca_address_sk,
r['ca_address_id']::text AS ca_address_id,
r['ca_street_number']::text AS ca_street_number,
r['ca_street_name']::text AS ca_street_name,
r['ca_street_type']::text AS ca_street_type,
r['ca_suite_number']::text AS ca_suite_number,
r['ca_city']::text AS ca_city,
r['ca_county']::text AS ca_county,
r['ca_state']::text AS ca_state,
r['ca_zip']::text AS ca_zip,
r['ca_country']::text AS ca_country,
r['ca_gmt_offset']::decimal(5,2) AS ca_gmt_offset,
r['ca_location_type']::text AS ca_location_type FROM
read_parquet('/home/test/tpcds_tables100/customer_address.parquet', binary_as_string => true) r;
CREATE VIEW customer_demographics_parquet AS SELECT
r['cd_demo_sk']::integer AS cd_demo_skz
r['cd_gender']::text AS cd_gender,
r['cd_marital_status']::text AS cd_marital_status,
r['cd_education_status']::text AS cd_education_status,
r['cd_purchase_estimate']::integer AS cd_purchase_estimate,
r['cd_credit_rating']::text AS cd_credit_rating,
r['cd_dep_count']::integer AS cd_dep_count,
r['cd_dep_employed_count']::integer AS cd_dep_employed_count,
r['cd_dep_college_count']::integer AS cd_dep_college_count FROM
read_parquet('/home/test/tpcds_tables100/customer_demographics.parquet', binary_as_string => true) r;
CREATE VIEW date_dim_parquet AS SELECT
r['d_date_sk']::integer AS d_date_sk,
r['d_date_id']::text AS d_date_id,
r['d_date']::date AS d_date,
r['d_month_seq']::integer AS d_month_seq,
r['d_week_seq']::integer AS d_week_seq,
r['d_quarter_seq']::integer AS d_quarter_seq,
r['d_year']::integer AS d_year,
r['d_dow']::integer AS d_dow,
r['d_moy']::integer AS d_moy,
r['d_dom']::integer AS d_dom,
r['d_qoy']::integer AS d_qoy,
r['d_fy_year']::integer AS d_fy_year,
r['d_fy_quarter_seq']::integer AS d_fy_quarter_seq,
r['d_fy_week_seq']::integer AS d_fy_week_seq,
r['d_day_name']::text AS d_day_name,
r['d_quarter_name']::text AS d_quarter_name,
r['d_holiday']::text AS d_holiday,
r['d_weekend']::text AS d_weekend,
r['d_following_holiday']::text AS d_following_holiday,
r['d_first_dom']::integer AS d_first_dom,
r['d_last_dom']::integer AS d_last_dom,
r['d_same_day_ly']::integer AS d_same_day_ly,
r['d_same_day_lq']::integer AS d_same_day_lq,
r['d_current_day']::text AS d_current_day,
r['d_current_week']::text AS d_current_week,
r['d_current_month']::text AS d_current_month,
r['d_current_quarter']::text AS d_current_quarter,
r['d_current_year']::text AS d_current_year FROM
read_parquet('/home/test/tpcds_tables100/date_dim.parquet', binary_as_string => true) r;
CREATE VIEW warehouse_parquet AS SELECT
r['w_warehouse_sk']::integer AS w_warehouse_sk,
r['w_warehouse_id']::text AS w_warehouse_id,
r['w_warehouse_name']::text AS w_warehouse_name,
r['w_warehouse_sq_ft']::integer AS w_warehouse_sq_ft,
r['w_street_number']::text AS w_street_number,
r['w_street_name']::text AS w_street_name,
r['w_street_type']::text AS w_street_type,
r['w_suite_number']::text AS w_suite_number,
r['w_city']::text AS w_city,
r['w_county']::text AS w_county,
r['w_state']::text AS w_state,
r['w_zip']::text AS w_zip,
r['w_country']::text AS w_country,
r['w_gmt_offset']::decimal(5,2) AS w_gmt_offset FROM
read_parquet('/home/test/tpcds_tables100/warehouse.parquet', binary_as_string => true) r;
CREATE VIEW ship_mode_parquet AS SELECT
r['sm_ship_mode_sk']::integer AS sm_ship_mode_sk,
r['sm_ship_mode_id']::text AS sm_ship_mode_id,
r['sm_type']::text AS sm_type,
r['sm_code']::text AS sm_code,
r['sm_carrier']::text AS sm_carrier,
r['sm_contract']::text AS sm_contract FROM
read_parquet('/home/test/tpcds_tables100/ship_mode.parquet', binary_as_string => true) r;
CREATE VIEW time_dim_parquet AS SELECT
r['t_time_sk']::integer AS t_time_sk,
r['t_time_id']::text AS t_time_id,
r['t_time']::integer AS t_time,
r['t_hour']::integer AS t_hour,
r['t_minute']::integer AS t_minute,
r['t_second']::integer AS t_second,
r['t_am_pm']::text AS t_am_pm,
r['t_shift']::text AS t_shift,
r['t_sub_shift']::text AS t_sub_shift,
r['t_meal_time']::text AS t_meal_time FROM
read_parquet('/home/test/tpcds_tables100/time_dim.parquet', binary_as_string => true) r;
CREATE VIEW reason_parquet AS SELECT
r['r_reason_sk']::integer AS r_reason_sk,
r['r_reason_id']::text AS r_reason_id,
r['r_reason_desc']::text AS r_reason_desc FROM
read_parquet('/home/test/tpcds_tables100/reason.parquet', binary_as_string => true) r;
CREATE VIEW income_band_parquet AS SELECT
r['ib_income_band_sk']::integer AS ib_income_band_sk,
r['ib_lower_bound']::integer AS ib_lower_bound,
r['ib_upper_bound']::integer AS ib_upper_bound FROM
read_parquet('/home/test/tpcds_tables100/income_band.parquet', binary_as_string => true) r;
CREATE VIEW item_parquet AS SELECT
r['i_item_sk']::integer AS i_item_sk,
r['i_item_id']::text AS i_item_id,
r['i_rec_start_date']::date AS i_rec_start_date,
r['i_rec_end_date']::date AS i_rec_end_date,
r['i_item_desc']::text AS i_item_desc,
r['i_current_price']::decimal(7,2) AS i_current_price,
r['i_wholesale_cost']::decimal(7,2) AS i_wholesale_cost,
r['i_brand_id']::integer AS i_brand_id,
r['i_brand']::text AS i_brand,
r['i_class_id']::integer AS i_class_id,
r['i_class']::text AS i_class,
r['i_category_id']::integer AS i_category_id,
r['i_category']::text AS i_category,
r['i_manufact_id']::integer AS i_manufact_id,
r['i_manufact']::text AS i_manufact,
r['i_size']::text AS i_size,
r['i_formulation']::text AS i_formulation,
r['i_color']::text AS i_color,
r['i_units']::text AS i_units,
r['i_container']::text AS i_container,
r['i_manager_id']::integer AS i_manager_id,
r['i_product_name']::text AS i_product_name FROM
read_parquet('/home/test/tpcds_tables100/item.parquet', binary_as_string => true) r;
create view store_parquet AS SELECT
r['s_store_sk']::integer AS s_store_sk,
r['s_store_id']::text AS s_store_id,
r['s_rec_start_date']::date AS s_rec_start_date,
r['s_rec_end_date']::date AS s_rec_end_date,
r['s_closed_date_sk']::integer AS s_closed_date_sk,
r['s_store_name']::text AS s_store_name,
r['s_number_employees']::integer AS s_number_employees,
r['s_floor_space']::integer AS s_floor_space,
r['s_hours']::text AS s_hours,
r['s_manager']::text AS s_manager,
r['s_market_id']::integer AS s_market_id,
r['s_geography_class']::text AS s_geography_class,
r['s_market_desc']::text AS s_market_desc,
r['s_market_manager']::text AS s_market_manager,
r['s_division_id']::integer AS s_division_id,
r['s_division_name']::text AS s_division_name,
r['s_company_id']::integer AS s_company_id,
r['s_company_name']::text AS s_company_name,
r['s_street_number']::text AS s_street_number,
r['s_street_name']::text AS s_street_name,
r['s_street_type']::text AS s_street_type,
r['s_suite_number']::text AS s_suite_number,
r['s_city']::text AS s_city,
r['s_county']::text AS s_county,
r['s_state']::text AS s_state,
r['s_zip']::text AS s_zip,
r['s_country']::text AS s_country,
r['s_gmt_offset']::decimal(5,2) AS s_gmt_offset,
r['s_tax_precentage']::decimal(5,2) AS s_tax_precentage FROM
read_parquet('/home/test/tpcds_tables100/store.parquet', binary_as_string => true) r;
CREATE VIEW call_center_parquet AS SELECT
r['cc_call_center_sk']::integer AS cc_call_center_sk,
r['cc_call_center_id']::text AS cc_call_center_id,
r['cc_rec_start_date']::date AS cc_rec_start_date,
r['cc_rec_end_date']::date AS cc_rec_end_date,
r['cc_closed_date_sk']::integer AS cc_closed_date_sk,
r['cc_open_date_sk']::integer AS cc_open_date_sk,
r['cc_name']::text AS cc_name,
r['cc_class']::text AS cc_class,
r['cc_employees']::integer AS cc_employees,
r['cc_sq_ft']::integer AS cc_sq_ft,
r['cc_hours']::text AS cc_hours,
r['cc_manager']::text AS cc_manager,
r['cc_mkt_id']::integer AS cc_mkt_id,
r['cc_mkt_class']::text AS cc_mkt_class,
r['cc_mkt_desc']::text AS cc_mkt_desc,
r['cc_market_manager']::text AS cc_market_manager,
r['cc_division']::integer AS cc_division,
r['cc_division_name']::text AS cc_division_name,
r['cc_company']::integer AS cc_company,
r['cc_company_name']::text AS cc_company_name,
r['cc_street_number']::text AS cc_street_number,
r['cc_street_name']::text AS cc_street_name,
r['cc_street_type']::text AS cc_street_type,
r['cc_suite_number']::text AS cc_suite_number,
r['cc_city']::text AS cc_city,
r['cc_county']::text AS cc_county,
r['cc_state']::text AS cc_state,
r['cc_zip']::text AS cc_zip,
r['cc_country']::text AS cc_country,
r['cc_gmt_offset']::decimal(5,2) AS cc_gmt_offset,
r['cc_tax_percentage']::decimal(5,2) AS cc_tax_percentage FROM
read_parquet('/home/test/tpcds_tables100/call_center.parquet', binary_as_string => true) r;
CREATE VIEW customer_parquet AS SELECT
r['c_customer_sk']::integer AS c_customer_sk,
r['c_customer_id']::text AS c_customer_id,
r['c_current_cdemo_sk']::integer AS c_current_cdemo_sk,
r['c_current_hdemo_sk']::integer AS c_current_hdemo_sk,
r['c_current_addr_sk']::integer AS c_current_addr_sk,
r['c_first_shipto_date_sk']::integer AS c_first_shipto_date_sk,
r['c_first_sales_date_sk']::integer AS c_first_sales_date_sk,
r['c_salutation']::text AS c_salutation,
r['c_first_name']::text AS c_first_name,
r['c_last_name']::text AS c_last_name,
r['c_preferred_cust_flag']::text AS c_preferred_cust_flag,
r['c_birth_day']::integer AS c_birth_day,
r['c_birth_month']::integer AS c_birth_month,
r['c_birth_year']::integer AS c_birth_year,
r['c_birth_country']::text AS c_birth_country,
r['c_login']::text AS c_login,
r['c_email_address']::text AS c_email_address,
r['c_last_review_date_sk']::integer AS c_last_review_date_sk FROM
read_parquet('/home/test/tpcds_tables100/customer.parquet', binary_as_string => true) r;
CREATE VIEW web_site_parquet AS SELECT
r['web_site_sk']::integer AS web_site_sk,
r['web_site_id']::text AS web_site_id,
r['web_rec_start_date']::date AS web_rec_start_date,
r['web_rec_end_date']::date AS web_rec_end_date,
r['web_name']::text AS web_name,
r['web_open_date_sk']::integer AS web_open_date_sk,
r['web_close_date_sk']::integer AS web_close_date_sk,
r['web_class']::text AS web_class,
r['web_manager']::text AS web_manager,
r['web_mkt_id']::integer AS web_mkt_id,
r['web_mkt_class']::text AS web_mkt_class,
r['web_mkt_desc']::text AS web_mkt_desc,
r['web_market_manager']::text AS web_market_manager,
r['web_company_id']::integer AS web_company_id,
r['web_company_name']::text AS web_company_name,
r['web_street_number']::text AS web_street_number,
r['web_street_name']::text AS web_street_name,
r['web_street_type']::text AS web_street_type,
r['web_suite_number']::text AS web_suite_number,
r['web_city']::text AS web_city,
r['web_county']::text AS web_county,
r['web_state']::text AS web_state,
r['web_zip']::text AS web_zip,
r['web_country']::text AS web_country,
r['web_gmt_offset']::decimal(5,2) AS web_gmt_offset,
r['web_tax_percentage']::decimal(5,2) AS web_tax_percentage FROM
read_parquet('/home/test/tpcds_tables100/web_site.parquet', binary_as_string => true) r;
CREATE VIEW store_returns_parquet AS SELECT
r['sr_returned_date_sk']::integer AS sr_returned_date_sk,
r['sr_return_time_sk']::integer AS sr_return_time_sk,
r['sr_item_sk']::integer AS sr_item_sk,
r['sr_customer_sk']::integer AS sr_customer_sk,
r['sr_cdemo_sk']::integer AS sr_cdemo_sk,
r['sr_hdemo_sk']::integer AS sr_hdemo_sk,
r['sr_addr_sk']::integer AS sr_addr_sk,
r['sr_store_sk']::integer AS sr_store_sk,
r['sr_reason_sk']::integer AS sr_reason_sk,
r['sr_ticket_number']::integer AS sr_ticket_number,
r['sr_return_quantity']::integer AS sr_return_quantity,
r['sr_return_amt']::decimal(7,2) AS sr_return_amt,
r['sr_return_tax']::decimal(7,2) AS sr_return_tax,
r['sr_return_amt_inc_tax']::decimal(7,2) AS sr_return_amt_inc_tax,
r['sr_fee']::decimal(7,2) AS sr_fee,
r['sr_return_ship_cost']::decimal(7,2) AS sr_return_ship_cost,
r['sr_refunded_cash']::decimal(7,2) AS sr_refunded_cash,
r['sr_reversed_charge']::decimal(7,2) AS sr_reversed_charge,
r['sr_store_credit']::decimal(7,2) AS sr_store_credit,
r['sr_net_loss']::decimal(7,2) AS sr_net_loss FROM
read_parquet('/home/test/tpcds_tables100/store_returns.parquet', binary_as_string => true) r;
CREATE VIEW household_demographics_parquet AS SELECT
r['hd_demo_sk']::integer AS hd_demo_sk,
r['hd_income_band_sk']::integer AS hd_income_band_sk,
r['hd_buy_potential']::text AS hd_buy_potential,
r['hd_dep_count']::integer AS hd_dep_count,
r['hd_vehicle_count']::integer AS hd_vehicle_count FROM
read_parquet('/home/test/tpcds_tables100/household_demographics.parquet', binary_as_string => true) r;
CREATE VIEW web_page_parquet AS SELECT
r['wp_web_page_sk']::integer AS wp_web_page_sk,
r['wp_web_page_id']::text AS wp_web_page_id,
r['wp_rec_start_date']::date AS wp_rec_start_date,
r['wp_rec_end_date']::date AS wp_rec_end_date,
r['wp_creation_date_sk']::integer AS wp_creation_date_sk,
r['wp_access_date_sk']::integer AS wp_access_date_sk,
r['wp_autogen_flag']::text AS wp_autogen_flag,
r['wp_customer_sk']::integer AS wp_customer_sk,
r['wp_url']::text AS wp_url,
r['wp_type']::text AS wp_type,
r['wp_char_count']::integer AS wp_char_count,
r['wp_link_count']::integer AS wp_link_count,
r['wp_image_count']::integer AS wp_image_count,
r['wp_max_ad_count']::integer AS wp_max_ad_count FROM
read_parquet('/home/test/tpcds_tables100/web_page.parquet', binary_as_string => true) r;
CREATE VIEW promotion_parquet AS SELECT
r['p_promo_sk']::integer AS p_promo_sk,
r['p_promo_id']::text AS p_promo_id,
r['p_start_date_sk']::integer AS p_start_date_sk,
r['p_end_date_sk']::integer AS p_end_date_sk,
r['p_item_sk']::integer AS p_item_sk,
r['p_cost']::decimal(15,2) AS p_cost,
r['p_response_target']::integer as p_response_target,
r['p_promo_name']::text AS p_promo_name,
r['p_channel_dmail']::text AS p_channel_dmail,
r['p_channel_email']::text AS p_channel_email,
r['p_channel_catalog']::text AS p_channel_catalog,
r['p_channel_tv']::text AS p_channel_tv,
r['p_channel_radio']::text AS p_channel_radio,
r['p_channel_press']::text AS p_channel_press,
r['p_channel_event']::text AS p_channel_event,
r['p_channel_demo']::text AS p_channel_demo,
r['p_channel_details']::text AS p_channel_details,
r['p_purpose']::text AS p_purpose,
r['p_discount_active']::text AS p_discount_active FROM
read_parquet('/home/test/tpcds_tables100/promotion.parquet', binary_as_string => true) r;
CREATE VIEW catalog_page_parquet AS SELECT
r['cp_catalog_page_sk']::integer AS cp_catalog_page_sk,
r['cp_catalog_page_id']::text AS cp_catalog_page_id,
r['cp_start_date_sk']::integer AS cp_start_date_sk,
r['cp_end_date_sk']::integer AS cp_end_date_sk,
r['cp_department']::text AS cp_department,
r['cp_catalog_number']::integer AS cp_catalog_number,
r['cp_catalog_page_number']::integer AS cp_catalog_page_number,
r['cp_description']::text AS cp_description,
r['cp_type']::text AS cp_type FROM
read_parquet('/home/test/tpcds_tables100/catalog_page.parquet', binary_as_string => true) r;
CREATE VIEW inventory_parquet AS SELECT
r['inv_date_sk']::integer AS inv_date_sk,
r['inv_item_sk']::integer AS inv_item_sk,
r['inv_warehouse_sk']::integer AS inv_warehouse_sk,
r['inv_quantity_on_hand']::integer AS inv_quantity_on_hand FROM
read_parquet('/home/test/tpcds_tables100/inventory.parquet', binary_as_string => true) r;
CREATE VIEW catalog_returns_parquet AS SELECT
r['cr_returned_date_sk']::integer AS cr_returned_date_sk,
r['cr_returned_time_sk']::integer AS cr_returned_time_sk,
r['cr_item_sk']::integer AS cr_item_sk,
r['cr_refunded_customer_sk']::integer AS cr_refunded_customer_sk,
r['cr_refunded_cdemo_sk']::integer AS cr_refunded_cdemo_sk,
r['cr_refunded_hdemo_sk']::integer AS cr_refunded_hdemo_sk,
r['cr_refunded_addr_sk']::integer AS cr_refunded_addr_sk,
r['cr_returning_customer_sk']::integer AS cr_returning_customer_sk,
r['cr_returning_cdemo_sk']::integer AS cr_returning_cdemo_sk,
r['cr_returning_hdemo_sk']::integer AS cr_returning_hdemo_sk,
r['cr_returning_addr_sk']::integer AS cr_returning_addr_sk,
r['cr_call_center_sk']::integer AS cr_call_center_sk,
r['cr_catalog_page_sk']::integer AS cr_catalog_page_sk,
r['cr_ship_mode_sk']::integer AS cr_ship_mode_sk,
r['cr_warehouse_sk']::integer AS cr_warehouse_sk,
r['cr_reason_sk']::integer AS cr_reason_sk,
r['cr_order_number']::integer AS cr_order_number,
r['cr_return_quantity']::integer AS cr_return_quantity,
r['cr_return_amount']::decimal(7,2) AS cr_return_amount,
r['cr_return_tax']::decimal(7,2) AS cr_return_tax,
r['cr_return_amt_inc_tax']::decimal(7,2) AS cr_return_amt_inc_tax,
r['cr_fee']::decimal(7,2) AS cr_fee,
r['cr_return_ship_cost']::decimal(7,2) AS cr_return_ship_cost,
r['cr_refunded_cash']::decimal(7,2) AS cr_refunded_cash,
r['cr_reversed_charge']::decimal(7,2) AS cr_reversed_charge,
r['cr_store_credit']::decimal(7,2) AS cr_store_credit,
r['cr_net_loss']::decimal(7,2) AS cr_net_loss FROM
read_parquet('/home/test/tpcds_tables100/catalog_returns.parquet', binary_as_string => true) r;
CREATE VIEW web_returns_parquet AS SELECT
r['wr_returned_date_sk']::integer AS wr_returned_date_sk,
r['wr_returned_time_sk']::integer AS wr_returned_time_sk,
r['wr_item_sk']::integer AS wr_item_sk,
r['wr_refunded_customer_sk']::integer AS wr_refunded_customer_sk,
r['wr_refunded_cdemo_sk']::integer AS wr_refunded_cdemo_sk,
r['wr_refunded_hdemo_sk']::integer AS wr_refunded_hdemo_sk,
r['wr_refunded_addr_sk']::integer AS wr_refunded_addr_sk,
r['wr_returning_customer_sk']::integer AS wr_returning_customer_sk,
r['wr_returning_cdemo_sk']::integer AS wr_returning_cdemo_sk,
r['wr_returning_hdemo_sk']::integer AS wr_returning_hdemo_sk,
r['wr_returning_addr_sk']::integer AS wr_returning_addr_sk,
r['wr_web_page_sk']::integer AS wr_web_page_sk,
r['wr_reason_sk']::integer AS wr_reason_sk,
r['wr_order_number']::integer AS wr_order_number,
r['wr_return_quantity']::integer AS wr_return_quantity,
r['wr_return_amt']::decimal(7,2) AS wr_return_amt,
r['wr_return_tax']::decimal(7,2) AS wr_return_tax,
r['wr_return_amt_inc_tax']::decimal(7,2) AS wr_return_amt_inc_tax,
r['wr_fee']::decimal(7,2) AS wr_fee,
r['wr_return_ship_cost']::decimal(7,2) AS wr_return_ship_cost,
r['wr_refunded_cash']::decimal(7,2) AS wr_refunded_cash,
r['wr_reversed_charge']::decimal(7,2) AS wr_reversed_charge,
r['wr_account_credit']::decimal(7,2) AS wr_account_credit,
r['wr_net_loss']::decimal(7,2) AS wr_net_loss FROM
read_parquet('/home/test/tpcds_tables100/web_returns.parquet', binary_as_string => true) r;
CREATE VIEW web_sales_parquet AS SELECT
r['ws_sold_date_sk']::integer AS ws_sold_date_sk,
r['ws_sold_time_sk']::integer AS ws_sold_time_sk,
r['ws_ship_date_sk']::integer AS ws_ship_date_sk,
r['ws_item_sk']::integer AS ws_item_sk,
r['ws_bill_customer_sk']::integer AS ws_bill_customer_sk,
r['ws_bill_cdemo_sk']::integer AS ws_bill_cdemo_sk,
r['ws_bill_hdemo_sk']::integer AS ws_bill_hdemo_sk,
r['ws_bill_addr_sk']::integer AS ws_bill_addr_sk,
r['ws_ship_customer_sk']::integer AS ws_ship_customer_sk,
r['ws_ship_cdemo_sk']::integer AS ws_ship_cdemo_sk,
r['ws_ship_hdemo_sk']::integer AS ws_ship_hdemo_sk,
r['ws_ship_addr_sk']::integer AS ws_ship_addr_sk,
r['ws_web_page_sk']::integer AS ws_web_page_sk,
r['ws_web_site_sk']::integer AS ws_web_site_sk,
r['ws_ship_mode_sk']::integer AS ws_ship_mode_sk,
r['ws_warehouse_sk']::integer AS ws_warehouse_sk,
r['ws_promo_sk']::integer AS ws_promo_sk,
r['ws_order_number']::integer AS ws_order_number,
r['ws_quantity']::integer AS ws_quantity,
r['ws_wholesale_cost']::decimal(7,2) AS ws_wholesale_cost,
r['ws_list_price']::decimal(7,2) AS ws_list_price,
r['ws_sales_price']::decimal(7,2) AS ws_sales_price,
r['ws_ext_discount_amt']::decimal(7,2) AS ws_ext_discount_amt,
r['ws_ext_sales_price']::decimal(7,2) AS ws_ext_sales_price,
r['ws_ext_wholesale_cost']::decimal(7,2) AS ws_ext_wholesale_cost,
r['ws_ext_list_price']::decimal(7,2) AS ws_ext_list_price,
r['ws_ext_tax']::decimal(7,2) AS ws_ext_tax,
r['ws_coupon_amt']::decimal(7,2) AS ws_coupon_amt,
r['ws_ext_ship_cost']::decimal(7,2) AS ws_ext_ship_cost,
r['ws_net_paid']::decimal(7,2) AS ws_net_paid,
r['ws_net_paid_inc_tax']::decimal(7,2) AS ws_net_paid_inc_tax,
r['ws_net_paid_inc_ship']::decimal(7,2) AS ws_net_paid_inc_ship,
r['ws_net_paid_inc_ship_tax']::decimal(7,2) AS ws_net_paid_inc_ship_tax,
r['ws_net_profit']::decimal(7,2) AS ws_net_profit FROM
read_parquet('/home/test/tpcds_tables100/web_sales.parquet', binary_as_string => true) r;
CREATE VIEW catalog_sales_parquet AS SELECT
r['cs_sold_date_sk']::integer AS cs_sold_date_sk,
r['cs_sold_time_sk']::integer AS cs_sold_time_sk,
r['cs_ship_date_sk']::integer AS cs_ship_date_sk,
r['cs_bill_customer_sk']::integer AS cs_bill_customer_sk,
r['cs_bill_cdemo_sk']::integer AS cs_bill_cdemo_sk,
r['cs_bill_hdemo_sk']::integer AS cs_bill_hdemo_sk,
r['cs_bill_addr_sk']::integer AS cs_bill_addr_sk,
r['cs_ship_customer_sk']::integer AS cs_ship_customer_sk,
r['cs_ship_cdemo_sk']::integer AS cs_ship_cdemo_sk,
r['cs_ship_hdemo_sk']::integer AS cs_ship_hdemo_sk,
r['cs_ship_addr_sk']::integer AS cs_ship_addr_sk,
r['cs_call_center_sk']::integer AS cs_call_center_sk,
r['cs_catalog_page_sk']::integer AS cs_catalog_page_sk,
r['cs_ship_mode_sk']::integer AS cs_ship_mode_sk,
r['cs_warehouse_sk']::integer AS cs_warehouse_sk,
r['cs_item_sk']::integer AS cs_item_sk,
r['cs_promo_sk']::integer AS cs_promo_sk,
r['cs_order_number']::integer AS cs_order_number,
r['cs_quantity']::integer AS cs_quantity,
r['cs_wholesale_cost']::decimal(7,2) AS cs_wholesale_cost,
r['cs_list_price']::decimal(7,2) AS cs_list_price,
r['cs_sales_price']::decimal(7,2) AS cs_sales_price,
r['cs_ext_discount_amt']::decimal(7,2) AS cs_ext_discount_amt,
r['cs_ext_sales_price']::decimal(7,2) AS cs_ext_sales_price,
r['cs_ext_wholesale_cost']::decimal(7,2) AS cs_ext_wholesale_cost,
r['cs_ext_list_price']::decimal(7,2) AS cs_ext_list_price,
r['cs_ext_tax']::decimal(7,2) AS cs_ext_tax,
r['cs_coupon_amt']::decimal(7,2) AS cs_coupon_amt,
r['cs_ext_ship_cost']::decimal(7,2) AS cs_ext_ship_cost,
r['cs_net_paid']::decimal(7,2) AS cs_net_paid,
r['cs_net_paid_inc_tax']::decimal(7,2) AS cs_net_paid_inc_tax,
r['cs_net_paid_inc_ship']::decimal(7,2) AS cs_net_paid_inc_ship,
r['cs_net_paid_inc_ship_tax']::decimal(7,2) AS cs_net_paid_inc_ship_tax,
r['cs_net_profit']::decimal(7,2) AS cs_net_profit FROM
read_parquet('/home/test/tpcds_tables100/catalog_sales.parquet', binary_as_string => true) r;
CREATE VIEW store_sales_parquet AS SELECT
r['ss_sold_date_sk']::integer AS ss_sold_date_sk,
r['ss_sold_time_sk']::integer AS ss_sold_time_sk,
r['ss_item_sk']::integer AS ss_item_sk,
r['ss_customer_sk']::integer as ss_customer_sk,
r['ss_cdemo_sk']::integer AS ss_cdemo_sk,
r['ss_hdemo_sk']::integer AS ss_hdemo_sk,
r['ss_addr_sk']::integer AS ss_addr_sk,
r['ss_store_sk']::integer AS ss_store_sk,
r['ss_promo_sk']::integer AS ss_promo_sk,
r['ss_ticket_number']::integer AS ss_ticket_number,
r['ss_quantity']::integer AS ss_quantity,
r['ss_wholesale_cost']::decimal(7,2) AS ss_wholesale_cost,
r['ss_list_price']::decimal(7,2) AS ss_list_price,
r['ss_sales_price']::decimal(7,2) AS ss_sales_price,
r['ss_ext_discount_amt']::decimal(7,2) AS ss_ext_discount_amt,
r['ss_ext_sales_price']::decimal(7,2) AS ss_ext_sales_price,
r['ss_ext_wholesale_cost']::decimal(7,2) AS ss_ext_wholesale_cost,
r['ss_ext_list_price']::decimal(7,2) AS ss_ext_list_price,
r['ss_ext_tax']::decimal(7,2) AS ss_ext_tax,
r['ss_coupon_amt']::decimal(7,2) AS ss_coupon_amt,
r['ss_net_paid']::decimal(7,2) AS ss_net_paid,
r['ss_net_paid_inc_tax']::decimal(7,2) AS ss_net_paid_inc_tax,
r['ss_net_profit']::decimal(7,2) AS ss_net_profit FROM
read_parquet('/home/test/tpcds_tables100/store_sales.parquet', binary_as_string => true) r;
G.2.2. TPC-DS Benchmark Test: Scale Factor 100 #
Table G.7. Test Data
Data | Total size |
|---|---|
Analytical tables in the CSV format | 100.3 GB |
Analytical tables in the Parquet format | 24.4 GB |
Table G.8. Table Information
Analytical Table | Number of Rows |
|---|---|
| 30 |
| 20 400 |
| 14 404 374 |
| 143 997 065 |
| 1 000 000 |
| 1 920 800 |
| 2 000 000 |
| 73 049 |
| 7200 |
| 20 |
| 399 330 000 |
| 204 000 |
| 1000 |
| 55 |
| 20 |
| 402 |
| 28 795 080 |
| 287 997 024 |
| 86 400 |
| 15 |
| 2040 |
| 7 197 670 |
| 72 001 237 |
| 24 |
Table G.9. Test Results
Query | Duration (s) |
|
|
|
|
|
|
|---|---|---|---|---|---|---|---|
Q1 | 1.17 | 3.22 | 0.93 | 1192.97 | 491.60 | 477.13 | 0.00 |
Q1 — second execution | 0.63 | 3.03 | 0.69 | 988.18 | 594.60 | 0.00 | 0.00 |
Q2 | 2.50 | 8.59 | 0.86 | 235.27 | 174.93 | 1288.71 | 0.00 |
Q2 — second execution | 1.43 | 8.75 | 0.20 | 36.79 | 18.57 | 0.00 | 0.00 |
Q3 | 3.37 | 6.17 | 1.58 | 217.61 | 156.81 | 2520.28 | 0.00 |
Q3 — second execution | 1.06 | 5.57 | 0.30 | 115.94 | 98.99 | 0.00 | 0.00 |
Q4 | 16.10 | 77.26 | 7.36 | 3724.82 | 2715.21 | 6804.64 | 0.00 |
Q4 — second execution | 12.44 | 75.30 | 4.32 | 3484.33 | 2438.37 | 0.00 | 0.00 |
Q5 | 6.53 | 14.17 | 3.97 | 262.91 | 86.14 | 4917.16 | 0.00 |
Q5 — second execution | 2.49 | 12.63 | 0.83 | 655.33 | 334.02 | 0.00 | 0.00 |
Q6 | 2.88 | 5.46 | 1.67 | 803.32 | 248.04 | 2049.75 | 0.00 |
Q6 — second execution | 1.12 | 5.22 | 0.54 | 670.04 | 256.43 | 0.00 | 0.00 |
Q7 | 5.08 | 14.50 | 3.06 | 273.12 | 219.21 | 4417.77 | 0.00 |
Q7 — second execution | 2.07 | 12.82 | 0.60 | 304.13 | 203.10 | 0.00 | 0.00 |
Q8 | 2.57 | 6.02 | 1.53 | 126.75 | 75.49 | 1832.75 | 0.00 |
Q8 — second execution | 1.07 | 5.23 | 0.33 | 172.51 | 125.57 | 0.00 | 0.00 |
Q9 | 11.98 | 45.17 | 4.10 | 1231.43 | 987.05 | 3097.12 | 0.00 |
Q9 — second execution | 9.59 | 44.64 | 1.95 | 1168.15 | 943.60 | 0.00 | 0.00 |
Q10 | 2.00 | 4.45 | 0.78 | 291.94 | 197.11 | 735.45 | 0.00 |
Q10 — second execution | 1.14 | 4.33 | 0.25 | 260.18 | 184.88 | 0.00 | 0.00 |
Q11 | 9.82 | 48.49 | 4.96 | 2943.27 | 2084.55 | 3595.08 | 0.00 |
Q11 — second execution | 7.52 | 46.24 | 2.91 | 2814.27 | 1953.61 | 0.00 | 0.00 |
Q12 | 1.12 | 1.24 | 0.71 | 114.03 | 46.17 | 782.98 | 0.00 |
Q12 — second execution | 0.33 | 1.06 | 0.15 | 81.71 | 65.32 | 0.00 | 0.00 |
Q13 | 7.19 | 25.40 | 4.26 | 337.76 | 170.22 | 6412.03 | 0.00 |
Q13 — second execution | 3.43 | 23.90 | 0.87 | 277.51 | 247.07 | 0.00 | 0.00 |
Q14 | 55.35 | 351.97 | 27.29 | 12440.79 | 6139.15 | 3974.71 | 0.00 |
Q14 — second execution | 52.91 | 350.84 | 25.29 | 12300.06 | 6103.95 | 0.00 | 0.00 |
Q15 | 0.60 | 0.44 | 0.22 | 273.75 | 98.49 | 59.92 | 0.00 |
Q15 — second execution | 0.47 | 0.99 | 0.21 | 278.39 | 155.70 | 0.00 | 0.00 |
Q16 | 0.82 | 0.68 | 0.21 | 138.67 | 37.96 | 133.39 | 0.00 |
Q16 — second execution | 0.55 | 0.36 | 0.07 | 130.62 | 88.34 | 0.00 | 0.00 |
Q17 | 3.77 | 10.79 | 2.32 | 1011.01 | 435.42 | 2540.09 | 0.00 |
Q17 — second execution | 1.97 | 9.47 | 0.94 | 938.59 | 603.75 | 0.00 | 0.00 |
Q18 | 2.72 | 7.33 | 2.07 | 849.32 | 520.70 | 1880.99 | 0.00 |
Q18 — second execution | 1.44 | 6.90 | 0.79 | 485.93 | 271.32 | 0.00 | 0.00 |
Q19 | 4.37 | 8.49 | 2.51 | 366.98 | 262.37 | 3507.33 | 0.00 |
Q19 — second execution | 1.40 | 7.46 | 0.45 | 305.40 | 241.06 | 0.00 | 0.00 |
Q20 | 0.51 | 0.48 | 0.14 | 168.94 | 67.48 | 57.51 | 0.00 |
Q20 — second execution | 0.34 | 0.41 | 0.09 | 103.89 | 63.66 | 0.00 | 0.00 |
Q21 | 0.38 | 0.49 | 0.15 | 94.69 | 28.35 | 71.18 | 0.00 |
Q21 — second execution | 0.22 | 0.31 | 0.09 | 48.75 | 48.75 | 0.00 | 0.00 |
Q22 | 5.12 | 35.25 | 2.51 | 3978.26 | 3339.97 | 288.99 | 0.00 |
Q22 — second execution | 4.84 | 34.30 | 2.40 | 3754.82 | 3294.72 | 0.00 | 0.00 |
Q23 | 34.78 | 211.18 | 29.75 | 14410.55 | 5756.93 | 3619.45 | 0.00 |
Q23 — second execution | 33.42 | 214.81 | 28.10 | 14177.65 | 7060.66 | 0.00 | 0.00 |
Q24 | 8.05 | 38.52 | 6.51 | 3716.41 | 2728.57 | 3818.02 | 0.00 |
Q24 — second execution | 5.98 | 37.81 | 4.04 | 3100.28 | 2448.52 | 0.00 | 0.00 |
Q25 | 1.91 | 9.35 | 0.90 | 593.10 | 330.63 | 0.13 | 0.00 |
Q25 — second execution | 1.89 | 9.57 | 0.98 | 752.11 | 451.65 | 0.00 | 0.00 |
Q26 | 0.95 | 1.95 | 0.46 | 50.44 | 17.93 | 464.31 | 0.00 |
Q26 — second execution | 0.52 | 1.48 | 0.17 | 88.94 | 60.80 | 0.00 | 0.00 |
Q27 | 5.23 | 36.54 | 1.91 | 257.18 | 208.34 | 0.00 | 0.00 |
Q27 — second execution | 5.22 | 36.46 | 2.00 | 255.22 | 223.97 | 0.00 | 0.00 |
Q28 | 9.51 | 49.79 | 3.08 | 569.21 | 488.75 | 2391.03 | 0.00 |
Q28 — second execution | 8.00 | 49.99 | 1.72 | 522.01 | 464.69 | 0.00 | 0.00 |
Q29 | 4.30 | 11.96 | 2.13 | 477.48 | 334.80 | 2970.54 | 0.00 |
Q29 — second execution | 2.04 | 10.66 | 0.60 | 397.14 | 304.42 | 0.00 | 0.00 |
Q30 | 0.60 | 1.38 | 0.53 | 650.11 | 298.65 | 260.07 | 0.00 |
Q30 — second execution | 0.34 | 1.06 | 0.36 | 523.42 | 360.41 | 0.00 | 0.00 |
Q31 | 3.60 | 10.84 | 2.15 | 344.71 | 245.75 | 2707.19 | 0.00 |
Q31 — second execution | 1.68 | 9.07 | 0.39 | 315.16 | 254.40 | 0.00 | 0.00 |
Q32 | 0.64 | 0.57 | 0.15 | 160.23 | 72.60 | 73.26 | 0.00 |
Q32 — second execution | 0.50 | 0.38 | 0.08 | 105.56 | 76.21 | 0.00 | 0.00 |
Q33 | 4.53 | 8.28 | 3.01 | 341.25 | 182.34 | 3831.89 | 0.00 |
Q33 — second execution | 1.59 | 7.33 | 0.51 | 301.92 | 226.27 | 0.13 | 0.00 |
Q34 | 2.57 | 9.14 | 1.66 | 267.28 | 189.25 | 1306.16 | 0.00 |
Q34 — second execution | 1.56 | 8.59 | 0.67 | 189.05 | 139.17 | 0.00 | 0.00 |
Q35 | 2.84 | 10.58 | 1.75 | 1329.99 | 524.17 | 798.14 | 0.00 |
Q35 — second execution | 2.03 | 9.89 | 1.02 | 1279.56 | 508.52 | 0.00 | 0.00 |
Q36 | 9.65 | 39.32 | 6.48 | 230.54 | 98.88 | 9484.43 | 0.00 |
Q36 — second execution | 5.25 | 36.71 | 1.64 | 287.10 | 243.82 | 0.00 | 0.00 |
Q37 | 1.09 | 1.16 | 0.50 | 230.54 | 140.18 | 597.99 | 0.00 |
Q37 — second execution | 0.48 | 0.98 | 0.15 | 72.25 | 23.13 | 0.00 | 0.00 |
Q38 | 3.25 | 14.29 | 1.49 | 944.50 | 622.75 | 796.22 | 0.00 |
Q38 — second execution | 2.45 | 13.89 | 0.89 | 931.42 | 562.25 | 0.00 | 0.00 |
Q39 | 1.25 | 4.34 | 0.70 | 834.70 | 528.92 | 69.11 | 0.00 |
Q39 — second execution | 1.09 | 4.19 | 0.68 | 630.05 | 481.47 | 0.00 | 0.00 |
Q40 | 0.79 | 1.61 | 0.56 | 753.05 | 322.24 | 252.40 | 0.00 |
Q40 — second execution | 0.53 | 1.29 | 0.43 | 642.39 | 306.34 | 0.00 | 0.00 |
Q41 | 0.05 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 |
Q41 — second execution | 0.05 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 |
Q42 | 3.38 | 5.36 | 1.83 | 173.89 | 59.68 | 2911.17 | 0.00 |
Q42 — second execution | 0.93 | 4.48 | 0.31 | 146.17 | 112.09 | 0.00 | 0.00 |
Q43 | 2.58 | 9.63 | 1.30 | 173.25 | 136.36 | 1634.61 | 0.00 |
Q43 — second execution | 1.47 | 9.06 | 0.24 | 118.13 | 94.52 | 0.00 | 0.00 |
Q44 | 5.46 | 16.37 | 3.45 | 376.72 | 266.74 | 2359.85 | 0.00 |
Q44 — second execution | 3.21 | 15.29 | 1.26 | 413.08 | 320.93 | 0.00 | 0.00 |
Q45 | 1.24 | 2.39 | 0.78 | 347.48 | 245.26 | 863.27 | 0.00 |
Q45 — second execution | 0.48 | 1.93 | 0.22 | 286.66 | 225.99 | 0.00 | 0.00 |
Q46 | 4.24 | 14.46 | 2.41 | 149.67 | 40.76 | 2965.36 | 0.00 |
Q46 — second execution | 2.11 | 13.71 | 0.56 | 368.88 | 190.46 | 0.00 | 0.00 |
Q47 | 4.85 | 25.55 | 2.31 | 947.38 | 691.41 | 2619.97 | 0.00 |
Q47 — second execution | 3.54 | 23.57 | 1.10 | 915.69 | 641.71 | 0.00 | 0.00 |
Q48 | 5.03 | 17.65 | 2.88 | 459.10 | 392.36 | 3708.38 | 0.00 |
Q48 — second execution | 2.52 | 17.06 | 0.60 | 362.76 | 323.18 | 0.00 | 0.00 |
Q49 | 6.56 | 12.66 | 3.76 | 407.96 | 309.14 | 5597.77 | 0.00 |
Q49 — second execution | 2.18 | 11.22 | 0.69 | 332.85 | 238.94 | 0.00 | 0.00 |
Q50 | 3.51 | 12.97 | 1.57 | 260.37 | 153.21 | 2347.37 | 0.00 |
Q50 — second execution | 1.88 | 11.82 | 0.39 | 193.53 | 156.92 | 0.00 | 0.00 |
Q51 | 9.38 | 51.42 | 5.17 | 3372.08 | 2109.36 | 3313.81 | 0.00 |
Q51 — second execution | 7.44 | 50.63 | 3.97 | 3197.07 | 2224.74 | 0.00 | 0.00 |
Q52 | 0.96 | 4.29 | 0.35 | 118.52 | 86.21 | 0.00 | 0.00 |
Q52 — second execution | 0.97 | 4.36 | 0.33 | 98.36 | 75.20 | 0.00 | 0.00 |
Q53 | 3.83 | 27.57 | 0.45 | 31.68 | 21.46 | 0.00 | 0.00 |
Q53 — second execution | 3.75 | 26.24 | 0.46 | 127.29 | 113.64 | 0.00 | 0.00 |
Q54 | 10.95 | 37.76 | 7.35 | 514.70 | 409.99 | 10135.38 | 0.00 |
Q54 — second execution | 5.15 | 34.27 | 1.74 | 400.75 | 319.33 | 0.00 | 0.00 |
Q55 | 3.49 | 5.16 | 1.95 | 216.37 | 173.05 | 2949.66 | 0.00 |
Q55 — second execution | 0.92 | 4.53 | 0.30 | 145.31 | 109.57 | 0.00 | 0.00 |
Q56 | 4.89 | 8.23 | 3.04 | 295.09 | 221.59 | 3765.99 | 0.00 |
Q56 — second execution | 1.62 | 7.17 | 0.54 | 323.50 | 234.02 | 0.13 | 0.00 |
Q57 | 1.35 | 5.90 | 0.55 | 450.29 | 242.16 | 338.17 | 0.00 |
Q57 — second execution | 1.10 | 5.50 | 0.32 | 318.67 | 203.66 | 0.00 | 0.00 |
Q58 | 4.68 | 6.37 | 2.57 | 290.60 | 193.40 | 3816.84 | 0.00 |
Q58 — second execution | 1.35 | 5.40 | 0.45 | 322.89 | 209.36 | 0.00 | 0.00 |
Q59 | 4.26 | 22.92 | 2.79 | 3261.81 | 1652.81 | 1638.08 | 0.00 |
Q59 — second execution | 3.24 | 21.50 | 1.92 | 3080.73 | 1556.97 | 0.00 | 0.00 |
Q60 | 4.76 | 8.76 | 2.73 | 409.08 | 322.64 | 3774.54 | 0.00 |
Q60 — second execution | 1.65 | 7.47 | 0.50 | 377.33 | 265.09 | 0.00 | 0.00 |
Q61 | 0.82 | 0.57 | 0.15 | 238.39 | 116.60 | 57.09 | 0.00 |
Q61 — second execution | 0.66 | 0.49 | 0.07 | 165.11 | 116.57 | 0.00 | 0.00 |
Q62 | 1.05 | 3.43 | 0.49 | 125.36 | 75.53 | 500.09 | 0.00 |
Q62 — second execution | 0.55 | 2.46 | 0.11 | 66.26 | 55.99 | 0.00 | 0.00 |
Q63 | 4.66 | 26.13 | 1.69 | 262.25 | 214.19 | 2620.00 | 0.00 |
Q63 — second execution | 3.67 | 26.30 | 0.41 | 111.27 | 88.72 | 0.00 | 0.00 |
Q64 | 8.48 | 33.17 | 4.94 | 1535.12 | 872.82 | 6340.82 | 0.00 |
Q64 — second execution | 4.82 | 30.85 | 1.84 | 1511.87 | 929.80 | 0.00 | 0.00 |
Q65 | 5.47 | 24.22 | 3.77 | 2605.05 | 1520.66 | 2627.54 | 0.00 |
Q65 — second execution | 3.85 | 23.73 | 2.22 | 2227.14 | 1299.75 | 0.00 | 0.00 |
Q66 | 0.54 | 0.31 | 0.09 | 80.12 | 34.42 | 32.08 | 0.00 |
Q66 — second execution | 0.41 | 0.25 | 0.04 | 64.41 | 56.79 | 0.00 | 0.00 |
Q67 | 32.80 | 184.39 | 52.09 | 27685.02 | 15027.58 | 9539.32 | 0.00 |
Q67 — second execution | 31.85 | 187.17 | 53.17 | 25786.45 | 14302.98 | 0.00 | 0.00 |
Q68 | 2.26 | 14.54 | 0.80 | 243.20 | 172.12 | 0.00 | 0.00 |
Q68 — second execution | 2.26 | 14.50 | 0.84 | 171.16 | 146.57 | 0.00 | 0.00 |
Q69 | 2.06 | 4.91 | 0.95 | 331.04 | 221.16 | 781.57 | 0.00 |
Q69 — second execution | 1.23 | 4.18 | 0.23 | 250.59 | 169.31 | 0.00 | 0.00 |
Q70 | 10.69 | 48.99 | 7.30 | 251.75 | 155.97 | 9527.83 | 0.00 |
Q70 — second execution | 6.62 | 45.26 | 2.33 | 274.30 | 223.94 | 0.00 | 0.00 |
Q71 | 5.41 | 8.94 | 3.24 | 293.62 | 155.80 | 4213.18 | 0.00 |
Q71 — second execution | 1.83 | 8.05 | 0.54 | 244.07 | 181.46 | 0.00 | 0.00 |
Q72 | 3.35 | 14.40 | 2.39 | 1738.82 | 899.55 | 1833.04 | 0.00 |
Q72 — second execution | 2.31 | 13.71 | 1.40 | 1675.54 | 946.35 | 0.00 | 0.00 |
Q73 | 2.56 | 9.00 | 1.64 | 165.74 | 73.43 | 1305.82 | 0.00 |
Q73 — second execution | 1.52 | 8.59 | 0.80 | 200.02 | 148.51 | 0.00 | 0.00 |
Q74 | 7.45 | 32.32 | 3.67 | 1555.93 | 992.62 | 2716.92 | 0.00 |
Q74 — second execution | 5.62 | 31.92 | 2.05 | 1637.58 | 1022.67 | 0.00 | 0.00 |
Q75 | 7.99 | 23.62 | 5.38 | 2366.00 | 895.90 | 5997.67 | 0.00 |
Q75 — second execution | 3.82 | 22.79 | 2.27 | 2518.67 | 1103.22 | 0.00 | 0.00 |
Q76 | 6.63 | 12.67 | 4.58 | 243.60 | 2.41 | 6114.49 | 0.00 |
Q76 — second execution | 2.05 | 10.82 | 0.56 | 260.00 | 209.38 | 0.00 | 0.00 |
Q77 | 5.64 | 10.18 | 3.86 | 305.27 | 229.59 | 4930.04 | 0.00 |
Q77 — second execution | 1.87 | 9.14 | 0.56 | 278.83 | 206.50 | 0.00 | 0.00 |
Q78 | 10.97 | 48.95 | 10.27 | 8747.98 | 4708.29 | 6069.71 | 0.00 |
Q78 — second execution | 7.94 | 47.75 | 7.26 | 8704.53 | 4716.97 | 0.00 | 0.00 |
Q79 | 4.65 | 18.15 | 3.10 | 160.60 | 26.10 | 2955.89 | 0.00 |
Q79 — second execution | 2.63 | 17.10 | 1.23 | 535.23 | 307.60 | 0.00 | 0.00 |
Q80 | 8.35 | 18.92 | 6.13 | 2152.33 | 1599.29 | 6825.18 | 0.00 |
Q80 — second execution | 3.17 | 16.97 | 2.00 | 1986.95 | 1368.29 | 0.00 | 0.00 |
Q81 | 0.54 | 1.21 | 0.56 | 704.92 | 336.28 | 219.25 | 0.00 |
Q81 — second execution | 0.34 | 1.30 | 0.48 | 603.72 | 463.50 | 0.00 | 0.00 |
Q82 | 1.91 | 2.89 | 1.05 | 222.29 | 136.18 | 1365.56 | 0.00 |
Q82 — second execution | 0.74 | 2.59 | 0.26 | 127.56 | 92.90 | 0.00 | 0.00 |
Q83 | 0.64 | 0.86 | 0.40 | 126.32 | 76.58 | 387.46 | 0.00 |
Q83 — second execution | 0.21 | 0.47 | 0.09 | 70.56 | 70.56 | 0.00 | 0.00 |
Q84 | 0.41 | 0.46 | 0.24 | 147.61 | 65.52 | 174.04 | 0.00 |
Q84 — second execution | 0.15 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 |
Q85 | 2.51 | 6.82 | 2.13 | 1582.14 | 878.51 | 1627.35 | 0.00 |
Q85 — second execution | 1.19 | 6.44 | 1.06 | 1448.66 | 987.85 | 0.00 | 0.00 |
Q86 | 3.80 | 11.81 | 2.62 | 212.07 | 71.60 | 3520.44 | 0.00 |
Q86 — second execution | 1.66 | 10.28 | 0.79 | 193.19 | 163.83 | 0.00 | 0.00 |
Q87 | 3.37 | 15.27 | 1.45 | 917.36 | 558.52 | 794.04 | 0.00 |
Q87 — second execution | 2.63 | 14.85 | 0.89 | 922.12 | 605.15 | 0.00 | 0.00 |
Q88 | 7.75 | 37.90 | 1.71 | 747.62 | 607.90 | 1138.95 | 0.00 |
Q88 — second execution | 6.83 | 37.41 | 0.94 | 635.72 | 525.87 | 0.00 | 0.00 |
Q89 | 4.41 | 23.04 | 1.78 | 228.59 | 173.88 | 2618.04 | 0.00 |
Q89 — second execution | 3.35 | 23.85 | 0.46 | 178.50 | 152.58 | 0.00 | 0.00 |
Q90 | 0.85 | 1.24 | 0.34 | 212.45 | 123.93 | 373.87 | 0.00 |
Q90 — second execution | 0.44 | 1.75 | 0.14 | 99.01 | 71.43 | 0.00 | 0.00 |
Q91 | 0.28 | 0.07 | 0.05 | 41.54 | 23.18 | 45.54 | 0.00 |
Q91 — second execution | 0.10 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 |
Q92 | 1.31 | 2.22 | 0.81 | 200.43 | 140.33 | 830.58 | 0.00 |
Q92 — second execution | 0.50 | 1.65 | 0.17 | 75.73 | 46.71 | 0.00 | 0.00 |
Q93 | 1.04 | 2.55 | 1.06 | 1415.03 | 541.22 | 331.42 | 0.00 |
Q93 — second execution | 0.77 | 2.40 | 0.87 | 1334.89 | 672.78 | 0.00 | 0.00 |
Q94 | 0.55 | 1.63 | 0.21 | 106.06 | 75.45 | 0.00 | 0.00 |
Q94 — second execution | 0.57 | 2.47 | 0.21 | 140.13 | 100.85 | 0.00 | 0.00 |
Q95 | 7.49 | 40.62 | 6.17 | 3596.52 | 2449.48 | 1140.46 | 0.00 |
Q95 — second execution | 6.41 | 40.35 | 4.71 | 3644.67 | 2890.47 | 0.00 | 0.00 |
Q96 | 1.68 | 4.97 | 0.84 | 215.09 | 163.58 | 1090.45 | 0.00 |
Q96 — second execution | 0.88 | 4.66 | 0.17 | 112.72 | 95.50 | 0.00 | 0.00 |
Q97 | 3.97 | 16.53 | 2.97 | 2424.42 | 1272.05 | 2167.17 | 0.00 |
Q97 — second execution | 2.77 | 15.64 | 1.97 | 2599.21 | 1429.85 | 0.00 | 0.00 |
Q98 | 3.56 | 5.89 | 2.13 | 172.88 | 123.42 | 3016.77 | 0.00 |
Q98 — second execution | 1.28 | 5.35 | 0.43 | 309.03 | 205.25 | 0.00 | 0.00 |
Q99 | 0.97 | 3.81 | 0.19 | 115.52 | 77.30 | 169.06 | 0.00 |
Q99 — second execution | 0.75 | 3.98 | 0.09 | 70.03 | 58.50 | 0.00 | 0.00 |