FAQ |
Kalender |
![]() |
#21 | ||
|
|||
Medlem
|
Citat:
$query = "SELECT id, advertiserProductUrl FROM products WHERE `new` = 1"; $select = mysql_query($query) or die(mysql_error()); Då kommer inte dina updates efter det att köra, men dina första inserts har körts och uppdaterat databasen. Med transaktioner körs allt eller inget , typ denna princip mysql_query("SET AUTOCOMMIT=0"); mysql_query("START TRANSACTION"); $a1 = mysql_query("INSERT INTO bla (id) VALUES('1')"); $a2 = mysql_query("INSERT INTO blabla(id) VALUES('2')"); if ($a1 and $a2) { mysql_query("COMMIT"); //allt grönt , skriver ner allt till db } else { mysql_query("ROLLBACK"); //backar tillbaks allt efter "START TRANSACTION" } Kan inte så mycket om dem i mySQL men du måste nog köra InnoDB dessvärre för att använda transaktioner. Det brukar rekommenderas att köra den tabelltypen generellt, kan inte alla detaljer men MyISAM är lämpligare för Selects för att den låser hela tabellen vid skrivningar till tabellen. Citat:
så om du har t.ex "update tbl where somecolumn = 99" och det inte finns ett index på den kolumnen då görs en scan på alla rader i hela tabellen. med ett index går det snabbare. Men samtidigt om du lägger till fler index i tabellen kommer inserts gå segare för att den då måste uppdatera index..så detta är kanske ett gränsfall I alla fall, om det funkar på Binero kanske du inte behöver göra så mycket pill i sql:en för att få det att funka vad gäller prestandabiten |
||
![]() |
![]() |
|
|