/ Hex Artifact Content
Login

Artifact f0b2538988d1bbad16cbfe63ec6e8f48c9eb04e5:


0000: 73 65 74 20 72 63 73 69 64 20 7b 24 49 64 3a 20  set rcsid {$Id: 
0010: 6f 70 74 69 6d 69 7a 69 6e 67 2e 74 63 6c 2c 76  optimizing.tcl,v
0020: 20 31 2e 31 20 32 30 30 35 2f 30 31 2f 31 37 20   1.1 2005/01/17 
0030: 30 33 3a 34 32 3a 35 32 20 64 72 68 20 45 78 70  03:42:52 drh Exp
0040: 20 24 7d 0a 73 6f 75 72 63 65 20 63 6f 6d 6d 6f   $}.source commo
0050: 6e 2e 74 63 6c 0a 68 65 61 64 65 72 20 7b 48 69  n.tcl.header {Hi
0060: 6e 74 73 20 46 6f 72 20 4f 70 74 69 6d 69 7a 69  nts For Optimizi
0070: 6e 67 20 51 75 65 72 69 65 73 20 49 6e 20 53 51  ng Queries In SQ
0080: 4c 69 74 65 7d 0a 70 72 6f 63 20 73 65 63 74 69  Lite}.proc secti
0090: 6f 6e 20 7b 6c 65 76 65 6c 20 74 61 67 20 6e 61  on {level tag na
00a0: 6d 65 7d 20 7b 0a 20 20 69 6e 63 72 20 6c 65 76  me} {.  incr lev
00b0: 65 6c 0a 20 20 69 66 20 7b 24 6c 65 76 65 6c 3e  el.  if {$level>
00c0: 36 7d 20 7b 73 65 74 20 6c 65 76 65 6c 20 36 7d  6} {set level 6}
00d0: 0a 20 20 70 75 74 73 20 22 5c 6e 22 3c 61 20 6e  .  puts "\n"<a n
00e0: 61 6d 65 3d 5c 22 74 61 67 5c 22 20 2f 3e 22 0a  ame=\"tag\" />".
00f0: 20 20 70 75 74 73 20 22 3c 68 24 6c 65 76 65 6c    puts "<h$level
0100: 3e 24 6e 61 6d 65 3c 2f 68 24 6c 65 76 65 6c 3e  >$name</h$level>
0110: 5c 6e 22 0a 7d 0a 73 65 63 74 69 6f 6e 20 31 20  \n".}.section 1 
0120: 72 65 63 6f 6d 70 69 6c 65 20 7b 52 65 63 6f 6d  recompile {Recom
0130: 70 69 6c 65 20 74 68 65 20 6c 69 62 72 61 72 79  pile the library
0140: 20 66 6f 72 20 6f 70 74 69 6d 61 6c 20 70 65 72   for optimal per
0150: 66 6f 72 6d 61 6e 63 65 7d 0a 73 65 63 74 69 6f  formance}.sectio
0160: 6e 20 32 20 61 76 6f 69 64 74 72 61 6e 73 20 7b  n 2 avoidtrans {
0170: 4d 69 6e 69 6d 69 7a 65 20 74 68 65 20 6e 75 6d  Minimize the num
0180: 62 65 72 20 6f 66 20 74 72 61 6e 73 61 63 74 69  ber of transacti
0190: 6f 6e 73 7d 0a 73 65 63 74 69 6f 6e 20 33 20 75  ons}.section 3 u
01a0: 73 65 62 69 6e 64 20 7b 55 73 65 20 73 71 6c 69  sebind {Use sqli
01b0: 74 65 33 5f 62 69 6e 64 20 74 6f 20 69 6e 73 65  te3_bind to inse
01c0: 72 74 20 6c 61 72 67 65 20 63 68 75 6e 6b 73 20  rt large chunks 
01d0: 6f 66 20 64 61 74 61 7d 0a 73 65 63 74 69 6f 6e  of data}.section
01e0: 20 34 20 75 73 65 69 6e 64 69 63 65 73 20 7b 55   4 useindices {U
01f0: 73 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 69  se appropriate i
0200: 6e 64 69 63 65 73 7d 0a 73 65 63 74 69 6f 6e 20  ndices}.section 
0210: 35 20 72 65 63 6f 72 64 6a 6f 69 6e 20 7b 52 65  5 recordjoin {Re
0220: 6f 72 64 65 72 20 74 68 65 20 74 61 62 6c 65 73  order the tables
0230: 20 69 6e 20 61 20 6a 6f 69 6e 7d 0a 66 6f 6f 74   in a join}.foot
0240: 65 72 20 24 72 63 73 69 64 0a                    er $rcsid.