/spds
on
a machine named Spot. The SAS program creates a table named Test,
and creates an index for column X on the table named Test.
libname my_data sasspds 'mydomain' server=spot.spdsname user='anonymous'; data my_data.test(index=(x)); do i = 1 to 30000; x = mod(i,3); output; end; run; data my_data.test1; do i = 1 to 10000; x = mod(i,2); output; end; run; proc append base=my_data.test data=my_data.test1; run; proc sql; delete from my_data.test where x=1; quit;
> ixutil -stats test -dsn test -libpath /spds SAS Scalable Performance Data Server 5.3(TS M0) Build(Apr 26 2013, 11:50:08) Index File Utility Copyright (c) 1996-2013 by SAS Institute Inc, Cary NC 27513 USA Statistics for Index X: --------------------------------------------------- +--segment_size = 8192 +--n_segments_in_tbl = 5 +--n_values_in_index = 2 +--n_vdeleted_values = 1 +--percent_vdeleted = 33.33 +--n_seglist_values = 2 +--n_seglist_chunks = 3 +--avg_chunks_per_list = 1.00 +--idx_file_bytes = 13304 +--idx_garbage_bytes = 4272 +--percent_idx_garbage = 32.11 Ixutil completed successfully
> ixutil -stats x -dsn test -libpath /spds -dist SAS Scalable Performance Data Server 5.3 (TS M0) Build(Apr 26 2013, 11:50:08) Index File Utility Copyright (c) 1996-2013 by SAS Institute Inc, Cary NC 27513 USA Statistics for Index X: --------------------------------------------------- +--segment_size = 8192 +--n_segments_in_tbl = 5 +--n_values_in_index = 2 +--n_vdeleted_values = 1 +--percent_vdeleted = 33.33 +--n_seglist_values = 2 +--n_seglist_chunks = 3 +--avg_chunks_per_list = 1.00 +--idx_file_bytes = 13304 +--idx_garbage_bytes = 4272 +--percent_idx_garbage = 32.11 +--Distribution Stats for Non Unique Values +----minimum segments for all values = 4 +----maximum segments for all values = 5 +----average segments of any value = 4 +----average percentage of segments of any value = 90.00 Ixutil completed successfully
> ixutil -reorg x -dsn test -libpath /spds SAS Scalable Performance Data Server 5.3 (TS M0) Build(Apr 26 2013, 11:50:08) Index File Utility Copyright (c) 1996-2013 by SAS Institute Inc, Cary NC 27513 USA Reorg for Index x: Reorg successfully completed Ixutil completed successfully
> ixutil -stats x -dsn test -libpath /spds SAS Scalable Performance Data Server 5.3 (TS M0) Build(Apr 26 2013, 11:50:08) Index File Utility Copyright (c) 1996-2013 by SAS Institute Inc, Cary NC 27513 USA Statistics for Index X: ----------------------------------------- +--segment_size = 8192 +--n_segments_in_tbl = 5 +--n_values_in_index = 2 +--n_vdeleted_values = 0 +--percent_vdeleted = 0.00 +--n_seglist_values = 2 +--n_seglist_chunks = 2 +--avg_chunks_per_list = 1.00 +--idx_file_bytes = 9008 +--idx_garbage_bytes = 0 +--percent_idx_garbage = 0.00
/tmp
.
A user has created two tables, Table1 and Table2, that can be joined
on the column ID. An index exists on the column ID for both tables.
A join index is created on the tables to allow a parallel range join
on column ID.
> ixutil -crejidx Table1,ID Table2,ID -libpath /tmp -joinparts 4;
> ixutil -statjidx Table1,ID Table2,ID -libpath /tmp SAS Scalable Performance Data Server 5.3 (TS M0) Build(Apr 26 2013, 11:50:08) Index File Utility Copyright (c) 1996-2013 by SAS Institute Inc, Cary NC 27513 USA Stat of Join Index Table1.jdxid.table2.jdxid.0.0.0.spds9: Nranges=4 ----------------------------------------------------------------------- +-Range 0 +----<Table1,ID>: sobs=1 eobs=25000 (Sorted) +-------unique_keys=25000, max_occurance=1 +-------obs=25000, joinobs=25000, rangepct=100.00 +----<Table2,ID>: sobs=1 eobs=10000 (Sorted) +-------unique_keys=10000, max_occurance=1 +-------obs=10000, joinobs=10000, rangepct=100.00 +-Range 1 +----<Table1,ID>: sobs=25001 eobs=50000 (Sorted) +-------unique_keys=25000, max_occurance=1 +-------obs=25000, joinobs=25000, rangepct=100.00 +----<Table2,ID>: sobs=-1 eobs=0 +-------unique_keys=0, max_occurance=0 +-------obs=2, joinobs=0, rangepct= 0.00 +-Range 2 +----<Table1,ID>: sobs=50001 eobs=75000 (Sorted) +-------unique_keys=25000, max_occurance=1 +-------obs=25000, joinobs=25000, rangepct=100.00 +----<Table2,ID>: sobs=-1 eobs=0 +-------unique_keys=0, max_occurance=0 +-------obs=2, joinobs=0, rangepct= 0.00 +-Range 3 +----<Table1,ID>: sobs=75001 eobs=100000 (Sorted) +-------unique_keys=25000, max_occurance=1 +-------obs=25000, joinobs=25000, rangepct=100.00 +----<Table2,ID>: sobs=-1 eobs=0 +-------unique_keys=0, max_occurance=0 +-------obs=2, joinobs=0, rangepct= 0.00 Table Table1, Column ID average range join row pct=100.00 Table Table2, Column ID average range join row pct= 25.00 Ixutil completed successfully
> ixutil -deljidx Table1,ID Table2,ID -libpath /tmp SAS Scalable Performance Data Server 5.3 (TS M0) Build(Apr 26 2013, 11:50:08) Index File Utility Copyright (c) 1996-2013 by SAS Institute Inc, Cary NC 27513 USA Ixutil completed successfully