I am roaming around couple of plugins using mysql just to figure out how to fix and optimize mine. What I saw is questionable on logical and useful point of view..
When I use SQL_ThreadQuery I'd prefer to keep it optimized and clean, but I do not insist on 'clean'.
What I noticed is that some authors use couple of queries (SQL_ThreadQuery) to get info from 2 tables for example. Like this one ..
PHP Code:
formatex(g_Cache, charsmax(g_Cache), "UPDATE bf2ranks SET badge1=%i, badge2=%i, badge3=%i, badge4=%i, badge5=%i, badge6=%i, knife=%i, pistol=%i, sniper=%i, support=%i, kills=%i, defuses=%i, plants=%i, explosions=%i WHERE playerid=^"%s^"",
g_PlayerBadges[id][BADGE_KNIFE], g_PlayerBadges[id][BADGE_PISTOL], g_PlayerBadges[id][BADGE_ASSAULT], g_PlayerBadges[id][BADGE_SNIPER], g_PlayerBadges[id][BADGE_SUPPORT], g_PlayerBadges[id][BADGE_EXPLOSIVES], knifekills[id], pistolkills[id], sniperkills[id], parakills[id], totalkills[id], defuses[id], plants[id], explosions[id], tempSaveKey);
SQL_ThreadQuery(g_SqlTuple, "QueryHandle", g_Cache);
formatex(g_Cache, charsmax(g_Cache), "UPDATE bf2ranks2 SET badge7=%i, badge8=%i, shotgun=%i, smg=%i, rifle=%i, grenade=%i, gold=%i, silver=%i, bronze=%i WHERE playerid=^"%s^"", g_PlayerBadges[id][BADGE_SHOTGUN], g_PlayerBadges[id][BADGE_SMG], shotgunkills[id], smgkills[id], riflekills[id], grenadekills[id], gold[id], silver[id], bronze[id], tempSaveKey);
SQL_ThreadQuery(g_SqlTuple, "QueryHandle", g_Cache);
My questions is: Is this the right way to do it or you can just combine both SQL_ThreadQuery and run the 2 queries divided by ';' like
PHP Code:
formatex(g_Cache, charsmax(g_Cache), "UPDATE bf2ranks SET badge1 ... ; UPDATE bf2ranks SET badge1 ..);
And by 'right way' I mean the faster one..