⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rtree_perf.tcl

📁 最新的sqlite3.6.2源代码
💻 TCL
字号:
set testdir [file join [file dirname $argv0] .. .. test]source $testdir/tester.tclifcapable !rtree {  finish_test  return}set NROW   10000set NQUERY   500puts "Generating $NROW rows of data..."set data [list]for {set ii 0} {$ii < $NROW} {incr ii} {  set x1 [expr {rand()*1000}]  set x2 [expr {$x1+rand()*50}]  set y1 [expr {rand()*1000}]  set y2 [expr {$y1+rand()*50}]  lappend data $x1 $x2 $y1 $y2}puts "Finished generating data"set sql1 {CREATE TABLE btree(ii INTEGER PRIMARY KEY, x1, x2, y1, y2)}set sql2 {CREATE VIRTUAL TABLE rtree USING rtree(ii, x1, x2, y1, y2)}puts "Creating tables:"puts "  $sql1"puts "  $sql2"db eval $sql1db eval $sql2db eval "pragma cache_size=100"puts -nonewline "Inserting into btree... "flush stdoutset btree_time [time {db transaction {  set ii 1  foreach {x1 x2 y1 y2} $data {    db eval {INSERT INTO btree VALUES($ii, $x1, $x2, $y1, $y2)}    incr ii  }}}]puts "$btree_time"puts -nonewline "Inserting into rtree... "flush stdoutset rtree_time [time {db transaction {  set ii 1  foreach {x1 x2 y1 y2} $data {    incr ii    db eval {INSERT INTO rtree VALUES($ii, $x1, $x2, $y1, $y2)}  }}}]puts "$rtree_time"puts -nonewline "Selecting from btree... "flush stdoutset btree_select_time [time {  foreach {x1 x2 y1 y2} [lrange $data 0 [expr $NQUERY*4-1]] {    db eval {SELECT * FROM btree WHERE x1<$x1 AND x2>$x2 AND y1<$y1 AND y2>$y2} }}]puts "$btree_select_time"puts -nonewline "Selecting from rtree... "flush stdoutset rtree_select_time [time {  foreach {x1 x2 y1 y2} [lrange $data 0 [expr $NQUERY*4-1]] {    db eval {SELECT * FROM rtree WHERE x1<$x1 AND x2>$x2 AND y1<$y1 AND y2>$y2}  }}]puts "$rtree_select_time"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -