![]() |
Datenbank: MySQL • Version: variabel • Zugriff über: PHP
MySQL Indizes über mehrere Spalten
Morgen.
Ich habe mir gerade mal von meinem PHP Script alle DB-Querys ausgeben und die dann von meiner DB explainen lassen. Rausgekommen ist: Es wird nie ein Index benutzt (Ich hatte für jede Spalte Primary-Indizes benutzt) Ich hab dann meinen PHP Code und die Indizes so optimiert, dass jetzt bei jedem in meinem Programm ausgeführten SELECT ein Index benutzt wird. Ich habe jetzt einen Primary Index und zwei Zwei-Spalten Index über jeweils einen INT(10) und die ersten 10 Zeichen eines VARCHAR(25)s. Jetzt meine Frage: Wenn ich folgenden Query ausführe, wird dann der Index benutzt (oder geht das nur bei SELECTs?):
SQL-Code:
Meine Tabelle sieht so aus:
UPDATE bowae_vars SET value='2' WHERE userid=1 AND varname='_dialog_step'
SQL-Code:
Anmerkung: Value ist deshalb ein VARCHAR und kein INT, weil der Wert kein int sein muss, sondern alles mögliche sein kann, von einem Float über einen String bishin zu meinen alten Socken. ;)
CREATE TABLE `bowae_vars` (
`userid` int(10) unsigned NOT NULL default '0', `varname` varchar(25) NOT NULL default '', `value` varchar(25) NOT NULL default '', KEY `USERID` (`userid`,`varname`(10)) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; |
Re: MySQL Indizes über mehrere Spalten
Zitat:
|
Re: MySQL Indizes über mehrere Spalten
Na dann passts ja. Denn UPDATEs kann man sich ja leider nicht explainen lassen...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:15 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz