diff --git a/results/telemetry_db.php b/results/telemetry_db.php index d583969..b611d56 100755 --- a/results/telemetry_db.php +++ b/results/telemetry_db.php @@ -138,6 +138,10 @@ function getPdo($returnErrorMessage = false) `log` longtext ); '); + // Every query that is not a lookup by id orders or filters by + // timestamp, and without this the table is scanned in full each + // time. The other schemas declare the same index. + $pdo->exec('CREATE INDEX IF NOT EXISTS `speedtest_users_timestamp` ON `speedtest_users` (`timestamp`);'); return $pdo; } diff --git a/results/telemetry_mssql.sql b/results/telemetry_mssql.sql index 65c23a1..54754f4 100755 --- a/results/telemetry_mssql.sql +++ b/results/telemetry_mssql.sql @@ -33,4 +33,10 @@ GO ALTER TABLE [dbo].[speedtest_users] ADD CONSTRAINT [DF_speedtest_users_timestamp] DEFAULT (getdate()) FOR [timestamp] GO +CREATE NONCLUSTERED INDEX [speedtest_users_timestamp] ON [dbo].[speedtest_users] +( + [timestamp] ASC +) ON [PRIMARY] +GO + diff --git a/results/telemetry_mysql.sql b/results/telemetry_mysql.sql index 4d25cd6..a35b29f 100755 --- a/results/telemetry_mysql.sql +++ b/results/telemetry_mysql.sql @@ -42,7 +42,8 @@ CREATE TABLE `speedtest_users` ( -- Indexes for table `speedtest_users` -- ALTER TABLE `speedtest_users` - ADD PRIMARY KEY (`id`); + ADD PRIMARY KEY (`id`), + ADD KEY `speedtest_users_timestamp` (`timestamp`); -- -- AUTO_INCREMENT for dumped tables diff --git a/results/telemetry_postgresql.sql b/results/telemetry_postgresql.sql index bdc6284..de05217 100755 --- a/results/telemetry_postgresql.sql +++ b/results/telemetry_postgresql.sql @@ -107,6 +107,13 @@ ALTER TABLE ONLY speedtest_users ADD CONSTRAINT speedtest_users_pkey PRIMARY KEY (id); +-- +-- Name: speedtest_users_timestamp; Type: INDEX; Schema: public; Owner: speedtest +-- + +CREATE INDEX speedtest_users_timestamp ON speedtest_users USING btree ("timestamp"); + + -- -- PostgreSQL database dump complete --