php – 我可以在MYSQL中选择一列而不是全部,以使其更快吗?

我想做这样的事情:
$query=MysqL_query("SELECT userid FROM users WHERE username='$username'");
$the_user_id= .....

因为我想要的只是与用户名对应的用户ID.

通常的方式是:

$query=MysqL_query("SELECT * FROM users WHERE username='$username'");
while ($row = MysqL_fetch_assoc($query))
    $the_user_id= $row['userid'];

但这有什么更有效的吗?
非常感谢,问候

你已经在头上敲了一下:你想要做的是SELECT userid FROM users WHERE username =’$username’.试试吧 – 它会工作:)

SELECT *几乎总是一个坏主意;最好指定希望MysqL返回的列的名称.当然,您仍然需要使用MysqL_fetch_assoc或类似的东西来实际将数据转换为PHP变量,但至少这样可以节省MysqL发送您不会使用的所有这些列的开销.

另外,您可能希望使用较新的MysqLi库或PDO.这些也比旧的MysqL库更有效,旧的MysqL库已被弃用.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...