[Mysql] Faster loading
#1

So at the moment im using this
pawn Код:
public LoadSQLCar(sqlid)
{
    new query[128];
    new value[32];
    new wholeline[1024];
    format(query, sizeof(query), "SELECT * FROM `vehicles` WHERE `id` = '%d' LIMIT 1", sqlid);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_row(wholeline);
    ///-----
    sscanf(wholeline, "p<|>iis[20]iiffffiiid",value,CarInfo[sqlid][Owned],CarInfo[sqlid][Owner],CarInfo[sqlid][Faction],CarInfo[sqlid][Model],CarInfo[sqlid][Cx],CarInfo[sqlid][Cy],CarInfo[sqlid][Cz],CarInfo[sqlid][Inc],CarInfo[sqlid][C1],CarInfo[sqlid][C2],CarInfo[sqlid][JobVehicle],CarInfo[sqlid][Price]);
    printf("%d,%d,%s,%d,%d,%f,%f,%f,%d,%d,%d,%d",value,CarInfo[sqlid][Owned],CarInfo[sqlid][Owner],CarInfo[sqlid][Faction],CarInfo[sqlid][Model],CarInfo[sqlid][Cx],CarInfo[sqlid][Cy],CarInfo[sqlid][Cz],CarInfo[sqlid][Inc],CarInfo[sqlid][C1],CarInfo[sqlid][C2],CarInfo[sqlid][JobVehicle]);
    AddStaticVehicleEx(CarInfo[sqlid][Model],CarInfo[sqlid][Cx],CarInfo[sqlid][Cy],CarInfo[sqlid][Cz],CarInfo[sqlid][Inc],CarInfo[sqlid][C1],CarInfo[sqlid][C2],8000000);
    mysql_free_result();
}
But someone told me that you can load all the cars in one query , instead of query-ing each vehicle
Reply
#2

of course it is faster to call one huge query than dozen of little queries
Reply
#3

Yes , but how do i query the whole table ?
Reply
#4

Код:
SELECT * FROM `vehicles`;
and then just do while(mysql_fetch_row_format()) to read row by row and with sscanf store results
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)