<div dir="ltr">Hi everyone,<div><br></div><div>In cases where a  vtiger database gets big over time, queries start to take longer and longer. In some cases the database gets big because of junk records. In those cases one might want to delete those records to improve performance.</div><div>In a recent case I noticed that a query for loading the detail view of the Leads module was taking aprox 10 seconds with ~409k records. Here is what I got from the slow query log (Note that the rows being examined is ~3.6 million):</div><div><br></div><div># Query_time: 10.803175  Lock_time: 0.000091  Rows_sent: 115  Rows_examined: 3593722<br># Rows_affected: 0  Bytes_sent: 19074<br>SET timestamp = 1664300474;<br>SELECT <br>  vtiger_crmentity.smownerid, <br>  vtiger_leaddetails.leadsource, <br>  vtiger_crmentity.description, <br>  vtiger_crmentity.createdtime, <br>  vtiger_crmentity.modifiedtime, <br>  vtiger_leaddetails.leadstatus, <br>  vtiger_leaddetails.firstname, <br>  vtiger_leaddetails.lastname, <br>  vtiger_leadaddress.phone, <br>  vtiger_leaddetails.email, <br>  vtiger_leadscf.cf_999, <br>  vtiger_leadscf.cf_927, <br>  vtiger_leadscf.cf_1090, <br>  vtiger_leadscf.cf_1110, <br>  vtiger_leaddetails.leadid, <br>  vtiger_crmentity_user_field.starred <br>FROM <br>  vtiger_leaddetails <br>  INNER JOIN vtiger_crmentity ON vtiger_leaddetails.leadid = vtiger_crmentity.crmid <br>  LEFT JOIN vtiger_users ON vtiger_crmentity.smownerid = <a href="http://vtiger_users.id">vtiger_users.id</a> <br>  LEFT JOIN vtiger_groups ON vtiger_crmentity.smownerid = vtiger_groups.groupid <br>  INNER JOIN vtiger_leadaddress ON vtiger_leaddetails.leadid = vtiger_leadaddress.leadaddressid <br>  INNER JOIN vtiger_leadscf ON vtiger_leaddetails.leadid = vtiger_leadscf.leadid <br>  LEFT JOIN vtiger_crmentity_user_field ON vtiger_leaddetails.leadid = vtiger_crmentity_user_field.recordid <br>  AND vtiger_crmentity_user_field.userid = 107 <br>  INNER JOIN vt_tmp_u107_t7 vt_tmp_u107_t7 ON <a href="http://vt_tmp_u107_t7.id">vt_tmp_u107_t7.id</a> = vtiger_crmentity.smownerid <br>WHERE <br>  vtiger_crmentity.deleted = 0 <br>  and vtiger_leaddetails.converted = 0 <br>  AND vtiger_leaddetails.leadid > 0 <br>ORDER BY <br>  vtiger_crmentity.modifiedtime DESC <br>LIMIT <br>  0, 115;<br></div><div><br></div><div>So I have 2 questions:</div><div><br></div><div>1) If I decide to delete records, is it enough to  just set vtiger_crmentity.deleted = 1. Or should I entirely delete the records from the database? If so, how?</div><div>2) The database I'm dealing with has plenty of RAM available and I don't think that's an issue. So, is there a way to optimize the queries to get better speeds? I can't get an "Explain" from the query because I get an error saying that the table vt_tmp_u107_t7 does not exist.</div><div><br></div><div>I'll appreciate any help.</div><div><br clear="all"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Saludos<div><br></div><div>Rubén</div></div></div></div></div></div>