In the first, it is using an index *scan*, not seek, and is doing so because all columns needed by the query (for table T_PROPERTY) are in the T_PROPERTY.PRY_LNK_SALES_ORDER_ITEM index. In the one with the order by, no such covering index is used because the entrance of the T_PROPERTY.PRY_EXPORT_CITY field means that an index lookup from each record of the PRY_LNK_SALES_ORDER_ITEM index would need to be performed. MySQL judges this to be too expensive and so chooses to do a table scan instead (where it can already find the PRY_EXPORT_CITY field).
If you want both queries to be lightning fast, you may want to consider adding an extra index on (PRY_LNK_SALES_ORDER_ITEM, PRY_EXPORT_CITY)
Jay Pipes
Community Relations Manager, North America, MySQL Inc.
Got Cluster?
http://www.mysql.com/cluster
Personal:
http://jpipes.com