tattersoftware / codeigniter4-schemas

Database schema management, for CodeIgniter 4
MIT License
22 stars 10 forks source link

Issue with optimization #2

Closed crustamet closed 4 years ago

crustamet commented 4 years ago

If i have a big database with 100 tables, this schema and algorithm uses more and more when tables keep growing.

Do you guys want this to be optimized ? You need some how to export the cache into separate files.

Like a schema for one table with all relations and export them like that.

This is usefull for debug only some parts and for optimization sake.

From 0.001 s with a normal Model im getting 0.1 seconds with Tatter Model.

I know this is because of the schema cache with all tables and when it reads it needs to search in all schema instead of the schema foreach table.

Is this a issue that you can solve ? or this isn`t a problem ?

MGatner commented 4 years ago

I haven't done any scale testing, but this is good feedback. Certainly caching tables individually is an option; also if you're talking that scale then possibly compression would help, if the bottleneck is the cache fetch? I'm not a caching expert.

For reference, which cache driver are you using?

crustamet commented 4 years ago

the default one, but any caching driver is the same, only redis i believe is not.

The more tables you have the slower it will get from one schema file. You don`t need to be an expert :) it is logical.

It will be more simplier to load all the schemas that only needed for the query to run and not all of the schemas.

MGatner commented 4 years ago

I like this idea. I will plan to include it in the next release.

crustamet commented 4 years ago

Thanks mate :) i like working with you and with these projects.

What you want is what i want.

I will check as soon as you commit a change on codeigniter 4 and tatter schemas & relations

MGatner commented 4 years ago

Fixed via https://github.com/tattersoftware/codeigniter4-schemas/commit/c615ae16b5610071517ca426ad3c034f6500c843