direkt für den Code gehen.FIND_IN_SET mit Limit-Offset
Benutzer Tabelle
+----+------------------+
| id | username |
+----+------------------+
| 1 | becker.cornelius |
| 2 | claudine29 |
| 3 | dion37 |
| 4 | zkozey |
| 5 | kasandra59 |
+----+------------------+
Listen Tabelle
+----+---------------------------+
| id | name |
+----+---------------------------+
| 1 | List 1 |
| 2 | List 2 |
| 3 | List 3 |
| 4 | List 4 |
| 5 | List 5 |
+----+---------------------------+
lists_data Tisch
+-----+---------+----------------------------------------------------------------+
| id | list_id | user_id |
+-----+---------+----------------------------------------------------------------+
| 421 | 4 | 1,2,3,503433,707152,603114,342531,414463,977165 |
+-----+---------+----------------------------------------------------------------+
data
colum meine 1 Million Benutzer enthalten. mein Code Nach
select users.id, email, mobilenumber, firstname, surname, created_at
from users
inner join lists_data on find_in_set(users.id,lists_data.user_id) > 0 where lists_data.list_id = 97
Above Code funktioniert, ist nur Problem langsam und ich kann nicht Paginierung verwenden,
ich viele Methoden ausprobiert habe. keiner von ihnen funktioniert wie erwartet.
BTW, ich kann die Tabelle lists_data nicht normalisieren, da sie Millionen von Datensätzen pro Liste enthalten kann.
Warum haben Sie die Spalte "CSV" in der Junction-Tabelle? – lad2025
'CSV'-Spalte? woher? – Mifas
'user_id' in' lists_data' Tabelle (dh '1,2,3,503433,707152,603114,342531,414463,977165') – lad2025