No con PostgreSQL, del el manual :
Entonces, una columna de caracteres grande (como TEXT
o VARCHAR
sin un límite de tamaño especificado) se almacena lejos de los datos de la tabla principal. Por lo tanto, PostgreSQL tiene incorporada su optimización de "ponerlo en una tabla separada". Si está utilizando PostgreSQL, organice su tabla con sensatez y deje el diseño de datos a PostgreSQL.
No sé cómo MySQL u otros RDBM organizan sus datos.
La razón detrás de esta optimización es que la base de datos generalmente mantendrá los datos de cada fila en bloques contiguos en el disco para reducir la necesidad de buscar cuándo se debe leer o actualizar la fila. Si tiene una columna de TEXTO (u otro tipo de longitud variable) en una fila, entonces el tamaño de la fila es variable, por lo que se necesita más trabajo para pasar de una fila a otra. Una analogía sería la diferencia entre acceder a algo en una lista enlazada y acceder a una matriz; con una lista enlazada, debe leer tres elementos uno a la vez para llegar al cuarto, con una matriz simplemente compensa 3 * element_size
bytes desde el principio y estás ahí en un solo paso.