freak Posted April 14, 2010 Report Posted April 14, 2010 Man ir liela datu bāze un es skatos, ka pie update funkcijas, man kautkas aizķerās un dažiem vaicājumiem status ir locked. Kā ar šo var cīnities un , kas to izraisa? Quote
briedis Posted April 14, 2010 Report Posted April 14, 2010 Kas ir "liela datubāze"? Neizmanto kaut kādus trigerus? Uz kādiem kvērijiem nolokojas? Quote
EdgarsK Posted April 14, 2010 Report Posted April 14, 2010 Tu noteikti neizmanto standarta funkciju "mysql_query" , cik es sapratu. Teiksim ja tu izmanto teiksim "myCoolFunction_Query($q)" tad nočeko funkcijā vai tur netiek piesaistīts "Lock Table" kamēr notiek query izpilde. Quote
freak Posted April 14, 2010 Author Report Posted April 14, 2010 (edited) Tu noteikti neizmanto standarta funkciju "mysql_query" , cik es sapratu. Teiksim ja tu izmanto teiksim "myCoolFunction_Query($q)" tad nočeko funkcijā vai tur netiek piesaistīts "Lock Table" kamēr notiek query izpilde. nee, es izmantoju mysql_query nolokojas uz UPDATE querijiem. trigerus neizmantoju. Edited April 14, 2010 by freak Quote
Kaklz Posted April 14, 2010 Report Posted April 14, 2010 kāds ir tabulas tips? MyISAM vai innodb ? Cik ierakstu tev skaitās liela DB? Quote
EdgarsK Posted April 14, 2010 Report Posted April 14, 2010 (edited) varbūt noderēs Edited April 14, 2010 by EdgarsA Quote
freak Posted April 14, 2010 Author Report Posted April 14, 2010 kāds ir tabulas tips? MyISAM vai innodb ? Cik ierakstu tev skaitās liela DB? MyISAM Quote
freak Posted April 14, 2010 Author Report Posted April 14, 2010 Cik ierakstu tev skaitās liela DB? Patiesība jau konkretā tabula, kas lockojas nav nemaz tik liela - 50k ierakstu. Vairāk problēma ir tā , ka gandrīz katru sekundi ir kāds pieprasījums. Tiek izpildīti gan select, gan update vaicājumi un uz update vaicājumiem viņš nolokojas. Quote
Kaklz Posted April 14, 2010 Report Posted April 14, 2010 Teorētiski varētu pietikt ar tabulas tipa nomaiņu no MyISAM uz InnoDB, jo MyISAM gadījumā pie insert/update/delete operācijām tiek lokota visa tabula. Tas nozīmē, ka uz to brīdi apstājas visi selekti, kas gaida kamēr tiks pabeigtas insert/update/delete operācijas. InnoDB gadījumā tiek lokota tikai konrkētā rinda, kura tiek labota/dzēsta/pievienota. Attiecīgi selektiem tas traucē daudz mazāk. Jebkurā gadījumā prasās pēc detalizētākas informācijas par to, kas tas ir, ko tu taisi :) Quote
EdgarsK Posted April 14, 2010 Report Posted April 14, 2010 es jau nojaušu :) kautkāds bidding saits ne ? Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.