timings.sh
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:9k
源码类别:

数据库系统

开发平台:

Unix_Linux

  1. #!/bin/sh
  2. PATH=${PATH}:/usr/local/pgsql/bin
  3. TIMEFORMAT="%3Uu %3Ss %lR %P%%"
  4. export PATH TIMEFORMAT
  5. case "$1" in
  6.   -n)
  7.   trashing=0
  8.   ;;
  9.   *)
  10.  trashing=1
  11.  ;;
  12. esac
  13. echo "TESTING ON UNCLUSTERED FTI"
  14. # trash disk
  15. if [ $trashing = 1 ]
  16. then
  17.   echo "trashing"
  18.   psql -q -n -o /dev/null -c "select count(*) from product;" test
  19. else
  20.   echo
  21. fi
  22. Q="select count(p.oid) from product p, artist_fti f1, artist_fti f2
  23.         where
  24.                 f1.string ~ '^lapton' and f2.string ~ '^ric' and
  25.                 f1.id=p.oid and f2.id=p.oid;"
  26. echo -n "1: ^lapton and ^ric           : "
  27. time psql -q -n -o /dev/null -c "$Q" test
  28. echo -n "2: ^lapton and ^ric           : "
  29. time psql -q -n -o /dev/null -c "$Q" test
  30. echo -n "3: ^lapton and ^ric           : "
  31. time psql -q -n -o /dev/null -c "$Q" test
  32. # trash disk
  33. if [ $trashing = 1 ]
  34. then
  35.   echo "trashing"
  36.   psql -q -n -o /dev/null -c "select count(*) from product;" test
  37. else
  38.   echo
  39. fi
  40. Q="select count(p.oid) from product p, artist_fti f1, artist_fti f2
  41.         where
  42.                 f1.string ~ '^lling' and f2.string ~ '^tones' and
  43.                 f1.id=p.oid and f2.id=p.oid;"
  44. echo -n "1: ^lling and ^tones          : "
  45. time psql -q -n -o /dev/null -c "$Q" test
  46. echo -n "2: ^lling and ^tones          : "
  47. time psql -q -n -o /dev/null -c "$Q" test
  48. echo -n "3: ^lling and ^tones          : "
  49. time psql -q -n -o /dev/null -c "$Q" test
  50. # trash disk
  51. if [ $trashing = 1 ]
  52. then
  53.   echo "trashing"
  54.   psql -q -n -o /dev/null -c "select count(*) from product;" test
  55. else
  56.   echo
  57. fi
  58. Q="select count(p.oid) from product p, artist_fti f1, artist_fti f2
  59.         where
  60.                 f1.string ~ '^aughan' and f2.string ~ '^evie' and
  61.                 f1.id=p.oid and f2.id=p.oid;"
  62. echo -n "1: ^aughan and ^evie          : "
  63. time psql -q -n -o /dev/null -c "$Q" test
  64. echo -n "2: ^aughan and ^evie          : "
  65. time psql -q -n -o /dev/null -c "$Q" test
  66. echo -n "3: ^aughan and ^evie          : "
  67. time psql -q -n -o /dev/null -c "$Q" test
  68. # trash disk
  69. if [ $trashing = 1 ]
  70. then
  71.   echo "trashing"
  72.   psql -q -n -o /dev/null -c "select count(*) from product;" test
  73. else
  74.   echo
  75. fi
  76. Q="select count(p.oid) from product p, artist_fti f1
  77.         where
  78.                 f1.string ~ '^lling' and 
  79.                 p.oid=f1.id;"
  80. echo -n "1: ^lling                     : "
  81. time psql -q -n -o /dev/null -c "$Q" test
  82. echo -n "2: ^lling                     : "
  83. time psql -q -n -o /dev/null -c "$Q" test
  84. echo -n "3: ^lling                     : "
  85. time psql -q -n -o /dev/null -c "$Q" test
  86. # trash disk
  87. if [ $trashing = 1 ]
  88. then
  89.   echo "trashing"
  90.   psql -q -n -o /dev/null -c "select count(*) from product;" test
  91. else
  92.   echo
  93. fi
  94. Q="select count(p.oid) from product p, artist_fti f1, artist_fti f2, artist_fti f3
  95.         where
  96.                 f1.string ~ '^stev' and
  97.                 f2.string ~ '^ray' and
  98.                 f3.string ~ '^vaugh' and
  99.                 p.oid=f1.id and p.oid=f2.id and p.oid=f3.id;"
  100. echo -n "1: ^stev and ^ray and ^vaugh  : "
  101. time psql -q -n -o /dev/null -c "$Q" test
  102. echo -n "2: ^stev and ^ray and ^vaugh  : "
  103. time psql -q -n -o /dev/null -c "$Q" test
  104. echo -n "3: ^stev and ^ray and ^vaugh  : "
  105. time psql -q -n -o /dev/null -c "$Q" test
  106. # trash disk
  107. if [ $trashing = 1 ]
  108. then
  109.   echo "trashing"
  110.   psql -q -n -o /dev/null -c "select count(*) from product;" test
  111. else
  112.   echo
  113. fi
  114. Q="select count(*) from artist_fti where string ~ '^lling';"
  115. echo -n "1: ^lling (no join)           : "
  116. time psql -q -n -o /dev/null -c "$Q" test
  117. echo -n "2: ^lling (no join)           : "
  118. time psql -q -n -o /dev/null -c "$Q" test
  119. echo -n "3: ^lling (no join)           : "
  120. time psql -q -n -o /dev/null -c "$Q" test
  121. # trash disk
  122. if [ $trashing = 1 ]
  123. then
  124.   echo "trashing"
  125.   psql -q -n -o /dev/null -c "select count(*) from product;" test
  126. else
  127.   echo
  128. fi
  129. Q="select count(*) from artist_fti where string ~ '^vaughan';"
  130. echo -n "1: ^vaughan (no join)         : "
  131. time psql -q -n -o /dev/null -c "$Q" test
  132. echo -n "2: ^vaughan (no join)         : "
  133. time psql -q -n -o /dev/null -c "$Q" test
  134. echo -n "3: ^vaughan (no join)         : "
  135. time psql -q -n -o /dev/null -c "$Q" test
  136. # trash disk
  137. if [ $trashing = 1 ]
  138. then
  139.   echo "trashing"
  140.   psql -q -n -o /dev/null -c "select count(*) from product;" test
  141. else
  142.   echo
  143. fi
  144. Q="select count(*) from artist_fti where string ~ '^rol';"
  145. echo -n "1: ^rol (no join)             : "
  146. time psql -q -n -o /dev/null -c "$Q" test
  147. echo -n "2: ^rol (no join)             : "
  148. time psql -q -n -o /dev/null -c "$Q" test
  149. echo -n "3: ^rol (no join)             : "
  150. time psql -q -n -o /dev/null -c "$Q" test
  151. echo
  152. echo "TESTING ON CLUSTERED FTI"
  153. # trash disk
  154. if [ $trashing = 1 ]
  155. then
  156.   echo "trashing"
  157.   psql -q -n -o /dev/null -c "select count(*) from product;" test
  158. else
  159.   echo
  160. fi
  161. Q="select count(p.oid) from product p, clustered f1, clustered f2
  162.         where
  163.                 f1.string ~ '^lapton' and f2.string ~ '^ric' and
  164.                 f1.id=p.oid and f2.id=p.oid;"
  165. echo -n "1: ^lapton and ^ric           : "
  166. time psql -q -n -o /dev/null -c "$Q" test
  167. echo -n "2: ^lapton and ^ric           : "
  168. time psql -q -n -o /dev/null -c "$Q" test
  169. echo -n "3: ^lapton and ^ric           : "
  170. time psql -q -n -o /dev/null -c "$Q" test
  171. # trash disk
  172. if [ $trashing = 1 ]
  173. then
  174.   echo "trashing"
  175.   psql -q -n -o /dev/null -c "select count(*) from product;" test
  176. else
  177.   echo
  178. fi
  179. Q="select count(p.oid) from product p, clustered f1, clustered f2
  180.         where
  181.                 f1.string ~ '^lling' and f2.string ~ '^tones' and
  182.                 f1.id=p.oid and f2.id=p.oid;"
  183. echo -n "1: ^lling and ^tones          : "
  184. time psql -q -n -o /dev/null -c "$Q" test
  185. echo -n "2: ^lling and ^tones          : "
  186. time psql -q -n -o /dev/null -c "$Q" test
  187. echo -n "3: ^lling and ^tones          : "
  188. time psql -q -n -o /dev/null -c "$Q" test
  189. # trash disk
  190. if [ $trashing = 1 ]
  191. then
  192.   echo "trashing"
  193.   psql -q -n -o /dev/null -c "select count(*) from product;" test
  194. else
  195.   echo
  196. fi
  197. Q="select count(p.oid) from product p, clustered f1, clustered f2
  198.         where
  199.                 f1.string ~ '^aughan' and f2.string ~ '^evie' and
  200.                 f1.id=p.oid and f2.id=p.oid;"
  201. echo -n "1: ^aughan and ^evie          : "
  202. time psql -q -n -o /dev/null -c "$Q" test
  203. echo -n "2: ^aughan and ^evie          : "
  204. time psql -q -n -o /dev/null -c "$Q" test
  205. echo -n "3: ^aughan and ^evie          : "
  206. time psql -q -n -o /dev/null -c "$Q" test
  207. # trash disk
  208. if [ $trashing = 1 ]
  209. then
  210.   echo "trashing"
  211.   psql -q -n -o /dev/null -c "select count(*) from product;" test
  212. else
  213.   echo
  214. fi
  215. Q="select count(p.oid) from product p, clustered f1
  216.         where
  217.                 f1.string ~ '^lling' and 
  218.                 p.oid=f1.id;"
  219. echo -n "1: ^lling                     : "
  220. time psql -q -n -o /dev/null -c "$Q" test
  221. echo -n "2: ^lling                     : "
  222. time psql -q -n -o /dev/null -c "$Q" test
  223. echo -n "3: ^lling                     : "
  224. time psql -q -n -o /dev/null -c "$Q" test
  225. # trash disk
  226. if [ $trashing = 1 ]
  227. then
  228.   echo "trashing"
  229.   psql -q -n -o /dev/null -c "select count(*) from product;" test
  230. else
  231.   echo
  232. fi
  233. Q="select count(p.oid) from product p, clustered f1, clustered f2, clustered f3
  234.         where
  235.                 f1.string ~ '^stev' and
  236.                 f2.string ~ '^ray' and
  237.                 f3.string ~ '^vaugh' and
  238.                 p.oid=f1.id and p.oid=f2.id and p.oid=f3.id;"
  239. echo -n "1: ^stev and ^ray and ^vaugh  : "
  240. time psql -q -n -o /dev/null -c "$Q" test
  241. echo -n "2: ^stev and ^ray and ^vaugh  : "
  242. time psql -q -n -o /dev/null -c "$Q" test
  243. echo -n "3: ^stev and ^ray and ^vaugh  : "
  244. time psql -q -n -o /dev/null -c "$Q" test
  245. # trash disk
  246. if [ $trashing = 1 ]
  247. then
  248.   echo "trashing"
  249.   psql -q -n -o /dev/null -c "select count(*) from product;" test
  250. else
  251.   echo
  252. fi
  253. Q="select count(*) from clustered where string ~ '^lling';"
  254. echo -n "1: ^lling (no join)           : "
  255. time psql -q -n -o /dev/null -c "$Q" test
  256. echo -n "2: ^lling (no join)           : "
  257. time psql -q -n -o /dev/null -c "$Q" test
  258. echo -n "3: ^lling (no join)           : "
  259. time psql -q -n -o /dev/null -c "$Q" test
  260. # trash disk
  261. if [ $trashing = 1 ]
  262. then
  263.   echo "trashing"
  264.   psql -q -n -o /dev/null -c "select count(*) from product;" test
  265. else
  266.   echo
  267. fi
  268. Q="select count(*) from clustered where string ~ '^vaughan';"
  269. echo -n "1: ^vaughan (no join)         : "
  270. time psql -q -n -o /dev/null -c "$Q" test
  271. echo -n "2: ^vaughan (no join)         : "
  272. time psql -q -n -o /dev/null -c "$Q" test
  273. echo -n "3: ^vaughan (no join)         : "
  274. time psql -q -n -o /dev/null -c "$Q" test
  275. # trash disk
  276. if [ $trashing = 1 ]
  277. then
  278.   echo "trashing"
  279.   psql -q -n -o /dev/null -c "select count(*) from product;" test
  280. else
  281.   echo
  282. fi
  283. Q="select count(*) from clustered where string ~ '^rol';"
  284. echo -n "1: ^rol (no join)             : "
  285. time psql -q -n -o /dev/null -c "$Q" test
  286. echo -n "2: ^rol (no join)             : "
  287. time psql -q -n -o /dev/null -c "$Q" test
  288. echo -n "3: ^rol (no join)             : "
  289. time psql -q -n -o /dev/null -c "$Q" test