Jump to content

Stats & Clean


Recommended Posts

I had a look at the code and found that every time a connection is created, all connections in the ps_connections_pages table that were added before the specified interval are deleted. The setNewConnection($cookie) function in classes/Connection.php calls the cleanConnectionsPages() function.

Link to comment
Share on other sites

Hi,
So this would clear tables ps_connections or ps_connections_page?
And have no effect on current orders? / Sales stats?


I have around 205,000 enteries in one and 768,000 entries in another. (1 year)

Link to comment
Share on other sites

It appears to delete from the ps_connections_page only. Here is the query:

// Records of connections details older than the beginning of the  specified interval are deleted
Db::getInstance()->Execute('
DELETE FROM `'._DB_PREFIX_.'connections_page`
WHERE id_connections IN (
   SELECT `id_connections`
   FROM `'._DB_PREFIX_.'connections`
   WHERE date_add < LAST_DAY(DATE_SUB(NOW(), INTERVAL '.$interval.'))
)');



The ps_connections_page contains the links between connections and pages only, not the actual connections, which are in ps_connections. I guess that means it won't affect the connections that are displayed on orders.

Link to comment
Share on other sites

It seems ps_connections_page looks like it includes data of when a customer has returned back to the website, so we can see when they last logged in etc.

Can you confirm this?


The database is getting very large with both ps_connections & ps_connections_page

Link to comment
Share on other sites

Yes, the ps_connections_page table contains information about which pages the customer visited at which time. If you aren't interested in this information, you can delete it to save space, since the connection tables can get quite big.

Link to comment
Share on other sites

  • 2 weeks later...
  • 10 months later...

Re ps_connections, ps_connections_page & ps_connections_source Is it possible to edit public static function CleanConectionsPages so that it will dump old data from all 3 tables at once?

I have

public static function cleanConnectionsPages()
   {
       $period = Configuration::get('PS_STATS_OLD_CONNECT_AUTO_CLEAN');

       if ($period === 'week')
           $interval = '1 WEEK';
       else if ($period === 'month')
           $interval = '1 MONTH';
       else if ($period === 'year')
           $interval = '1 YEAR';
       else
           return;

       if ($interval != null)
       {
           // Records of connections details older than the beginning of the  specified interval are deleted
           Db::getInstance()->Execute('
           DELETE FROM `'._DB_PREFIX_.'connections_page`
           WHERE id_connections IN (
               SELECT `id_connections`
               FROM `'._DB_PREFIX_.'connections`
               WHERE date_add < LAST_DAY(DATE_SUB(NOW(), INTERVAL '.$interval.'))
           )');
       }
   }
}

In mine have just had to dump lots of old stats data and took ages - even deleting 10,000 rows at a time! Any ideas anyone?

Thanks

Baz

Link to comment
Share on other sites

  • 2 months later...
  • 1 year later...

I had a look at the code and found that every time a connection is created, all connections in the ps_connections_pages table that were added before the specified interval are deleted. The setNewConnection($cookie) function in classes/Connection.php calls the cleanConnectionsPages() function.

 

Hi Rocky - my client has PS 1.3 and having initially set the automaic clean to 'never', after a few years the ps_connections_page table is now huge - it has nearly 3 million rows! I know I can manualy empty this, but I need to know that the automatic clean ins working so I set this to 'yearly' which I assumes would delete all entries older than on year. However three days later and the ps_connections_page table still has just as many rows!

 

Why woudl these have not been cleaned out by the automatic clean function if this is run every time a connection is made to the site?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...