From ca32f08966f1b51fcb19460f0996bb0c4048e6fe Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Sat, 3 Dec 2011 13:29:22 +0100 Subject: Update to MediaWiki 1.18.0 * also update ArchLinux skin to chagnes in MonoBook * Use only css to hide our menu bar when printing --- maintenance/benchmarks/bench_delete_truncate.php | 78 ++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 maintenance/benchmarks/bench_delete_truncate.php (limited to 'maintenance/benchmarks/bench_delete_truncate.php') diff --git a/maintenance/benchmarks/bench_delete_truncate.php b/maintenance/benchmarks/bench_delete_truncate.php new file mode 100644 index 00000000..9fe9bea9 --- /dev/null +++ b/maintenance/benchmarks/bench_delete_truncate.php @@ -0,0 +1,78 @@ +mDescription = "Benchmarks SQL DELETE vs SQL TRUNCATE."; + } + + public function execute() { + $dbw = wfGetDB( DB_MASTER ); + + $test = $dbw->tableName( 'test' ); + $dbw->query( "CREATE TABLE IF NOT EXISTS /*_*/$test ( + test_id int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT, + text varbinary(255) NOT NULL +);" ); + + $this->insertData( $dbw ); + + $start = wfTime(); + + $this->delete( $dbw ); + + $end = wfTime(); + + echo "Delete: " . $end - $start; + echo "\r\n"; + + $this->insertData( $dbw ); + + $start = wfTime(); + + $this->truncate( $dbw ); + + $end = wfTime(); + + echo "Truncate: " . $end - $start; + echo "\r\n"; + + $dbw->dropTable( 'test' ); + } + + /** + * @param $dbw DatabaseBase + * @return void + */ + private function insertData( $dbw ) { + $range = range( 0, 1024 ); + $data = array(); + foreach( $range as $r ) { + $data[] = array( 'text' => $r ); + } + $dbw->insert( 'test', $data, __METHOD__ ); + } + + /** + * @param $dbw DatabaseBase + * @return void + */ + private function delete( $dbw ) { + $dbw->delete( 'text', '*', __METHOD__ ); + } + + /** + * @param $dbw DatabaseBase + * @return void + */ + private function truncate( $dbw ) { + $test = $dbw->tableName( 'test' ); + $dbw->query( "TRUNCATE TABLE $test" ); + } +} + +$maintClass = "BenchmarkDeleteTruncate"; +require_once( RUN_MAINTENANCE_IF_MAIN ); -- cgit v1.2.3-54-g00ecf