Simon Slavin <[email protected]> писал(а) в своём письме Wed, 11 May 2011
22:31:54 +0600:
> That would be purely for a free-format presentation of the entire data in a
> row. That's ideal for a utility. Normally when you write a database
> application you're specifically looking up some data: the name and phone
> number of a particular customer, or something.
Not the entire data "for utility"; only needed columns, for specific interface
a customer deals with.
But what if you need only five columns to display, and your table consists of
10 columns, does such kind of economy ("SELECT column1,column2,...columnN"
instead of "SELECT *") make much sense? You don't read the whole table anyway,
only a small subset of rows, so you won't waste much memory on these "unneeded"
columns. The speed of the query also won't change if you use "*". In fact, it
can become even faster because SQL server doesn't have to parse and validate
the list of columns you've specified. :)
> You're using there ... I'm guessing it's PHP, using an object model. Which
> works out the names of the columns for you and makes them available. What
> most people get back from "SELECT *" is a list of unlabelled variables. So
> they have to remember that item 1 is 'id', item 2 is 'name', item 3 is
> something they don't actually need right now, item 4 is 'phoneNumber'. Then
> you add a new field of 'schoolAddress' and now 'phoneNumber' is actually
> column 5, not column 4.
You're right, it's PHP, but no, it's not an object model. Just pure PHP (or
pure PHP + small framework) in most of my apps. Even if you don't use heavy
instruments like OOP, ORM etc, PHP still allows you to address columns in a
nice way, i.e. $row["name"]. I'm quite surprized that other programming
languages still force you to use numeric indices. Indeed "SELECT *" shouldn't
be used under such circumstances.
> We're not saying there no place for '*', merely that it shouldn't be used
> unless you actually want '*'.
>
> Simon.
> _______________________________________________
> sqlite-users mailing list
> [email protected]
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>
>
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users