本帖最后由 pfworld 于 2013-08-28 17:46:39 编辑

解决方案 »

  1.   

    贴出 explain select 
    `S_In`.`inID` AS `inID`,
    `S_In`.`inStatus` AS `状态`,
    `S_In`.`inDataSource` AS `数据来源`,
    `S_In`.`inType` AS `类型`,
    `S_In`.`inNo` AS `流水编号`,...
    及 show index from 所有的表以供分析。
      

  2.   

    不要用视图 试试把条件写进视图的sqlselect 
    `S_In`.`inID` AS `inID`,
    `S_In`.`inStatus` AS `状态`,
    `S_In`.`inDataSource` AS `数据来源`,
    `S_In`.`inType` AS `类型`,
    `S_In`.`inNo` AS `流水编号`,
    `S_In`.`CreateDate` AS `过磅时间`,
    `S_Supplier`.`supplierName` AS `供应商`,
    `Z_FoodType`.`foodTypeName` AS `粮食类型`,
    `Z_Warehouse`.`warehouseName` AS `库房`,
    `S_In`.`inPlateNumber` AS `车牌号`,
    `S_In`.`inFinalPrice` AS `最终单价`,
    `S_In`.`inGW` AS `毛重`,
    `S_In`.`inTW` AS `皮重`,
    `S_In`.`inNW` AS `净重`,
    `S_In`.`inBuckleRate` AS `总扣杂率`,
    `S_In`.`inBuckleWeight` AS `总扣杂`,
    `S_In`.`inNW_Real` AS `实重`,
    `S_In`.`inMoney_SP` AS `商品金额`,
    `e1`.`employeeName` AS `质检人员`,
    `e2`.`employeeName` AS `司磅人员`,
    `e3`.`employeeName` AS `库管人员`,
    `S_In`.`inRe` AS `备注`,
    `S_In`.`fkInPaysID` AS `fkInPaysID`
    FROM
    ((((((S_In
    LEFT JOIN S_Supplier ON ((S_In.fkSupplierID = S_Supplier.supplierID)))
    LEFT JOIN Z_FoodType ON ((S_In.fkFoodTypeID = Z_FoodType.foodTypeID)))
    LEFT JOIN Z_Warehouse ON ((S_In.fkWarehouseID = Z_Warehouse.warehouseID)))
    LEFT JOIN Z_Employee AS e1 ON ((S_In.fkEmployeeID_ZJ = e1.employeeID)))
    LEFT JOIN Z_Employee AS e2 ON ((S_In.fkEmployeeID_SB = e2.employeeID)))
    LEFT JOIN Z_Employee AS e3 ON ((S_In.fkEmployeeID_KG = e3.employeeID)))
    where  `S_In`.`CreateDate` BETWEEN '13-08-28 00:00:00' AND '13-08-28 23:59:59'
    order by `S_In`.`CreateDate` desc
     LIMIT 0,100