| FAQ |
| Kalender |
|
|
|
|
#1 | ||
|
|||
|
Mycket flitig postare
|
Erik: Tack, det vore ju ett alternativ kanske
![]() Danjel: Filerna innehåller 10 000+ produkter - ca.15 rader per produkt. Jag har inga problem hos Binero, där fungerar det både att hämta xml filen via url (ladda upp via ftp, och sen hämta xml adressen), det går även bra att ladda upp via en <input type="file" utan problem. Men jag har inlett ett samarbete med en kille som har City Network, och där failar den hela tiden - 1) går inte att hämta filer via en url (oavsett om filen ligger på samma server eller inte. 2) tar det för lång tid så dör servern. "För övrigt så använd transaktioner med databasfrågorna. Annars kan du få korrupt data." - vad menar du med det? ![]() Det är av typen MyISAM. Jag har 3 index typer i tabellen Products. 1) BTREE - ID (you know..) 2) BTREE - URL (för att förhindra dubletter vid input) 3) FULLTEXT - INFO (Fulltext sökningsförmåga) "Kolla om det finns index på dessa kolumner där "where" används:" - ehm. say what what? ooh! nej, inget index på varken new eller fresh. as you can se. Vill tacka alla som försöker hjälpa en krokad person som mig!
|
||
|
|
Svara med citat
|
|
|
#2 | ||
|
|||
|
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 |
||
|
|
Svara med citat
|
| Svara |
|
|