Ако имате нужда от милион таблици във вашата база данни, вие го правите погрешно.
Таблиците са предназначени да представят структурно и концептуално различни данни. И отказвам да повярвам, че работите с милион различни концепции в приложението си.
Понякога начинаещите смятат, че трябва да създадат таблица за потребител, например. Но „потребител“ е едно понятие и вие съхранявате една и съща информация за всеки потребител (име, имейл, потребителско име, парола, например), така че трябва да е едно таблица, където всеки потребител е само отделен ред.
Изглежда, че правите подобна грешка, може би не с потребителите, а с някаква друга абстракция, за която имате много случаи. Всеки екземпляр трябва да бъде ред в една таблица.
Ако ни опишете какво се опитвате да съхраните в база данни, почти сигурно можем да ви помогнем да разберете как трябва да бъдат картографирани към таблици.
Редактиране
след като прочетох вашите коментари (които наистина трябва да бъдат редактирани в самия въпрос), ето моите мисли:
Ако всички данни са структурирани по същия начин (като тройки), можете просто да съхранявате всичко в една таблица с три колони и след това да добавите необходимите индекси за ефективни търсения.
Ако всички предикати са известни предварително, вие можете направете таблица за предикат, но не съм много сигурен колко смисъл би имало това дори.
Най-чистият вариант вероятно би бил да имате 4 таблици:(id, subject)
, (id, predicate)
, (id, object)
,(subjectid, predicateid, objectid)
.