./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html:
./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html:./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html:
./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html:
Multirow schema considerations
./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html:WebSphere Application Server supports the use of a multirow ./Multirow_schema_considerations.html:schema option in which each piece of application specific data is stored in ./Multirow_schema_considerations.html:a separate row of the database. With this setup, the total amount of data ./Multirow_schema_considerations.html:one can place in a session is now bound only by the database capacities. The ./Multirow_schema_considerations.html:only practical limit that remains is the size of the session attribute object. ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html:
The multirow schema potentially has performance benefits in certain usage ./Multirow_schema_considerations.html:scenarios, such as when larger amounts of data are stored in the session but ./Multirow_schema_considerations.html:only small amounts are specifically accessed during a given servlet processing ./Multirow_schema_considerations.html:of an HTTP request. In such a scenario, avoiding unneeded Java object serialization ./Multirow_schema_considerations.html:is beneficial to performance. ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html:
Understand that switching between multirow and single row is not a trivial ./Multirow_schema_considerations.html:proposition. ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html:
In addition to allowing larger session records, using multirow schema can ./Multirow_schema_considerations.html:yield performance benefits. However, it requires a little work to switch from ./Multirow_schema_considerations.html:single-row to multirow schema, as shown in the instructions below. ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html:
Coding considerations and test environment
./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html:Consider ./Multirow_schema_considerations.html:configuring direct single-row usage to one database and multirow usage to ./Multirow_schema_considerations.html:another database while you verify which option suits your application needs. ./Multirow_schema_considerations.html:(Do this in code by switching the data source used; then monitor performance.) ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html:
./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html:./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html:
./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html:Programming issue ./Multirow_schema_considerations.html:Application scenario ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html:./Multirow_schema_considerations.html: Reasons to use single-row ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html:
- We can read or write all values with just one record read and write. ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html:
- This takes up less space in a database because you are guaranteed that ./Multirow_schema_considerations.html:each session is only one record long. ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html:
./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html:
./Multirow_schema_considerations.html: Reasons not to use single-row ./Multirow_schema_considerations.html: 2-megabyte limit of stored data per session. ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: Reasons to use multirow ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html:
- The application can store an unlimited amount of data; that is, you are ./Multirow_schema_considerations.html:limited only by the size of the database and a 2-megabyte-per-record limit. ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html:
- The application can read individual fields instead of the whole record. ./Multirow_schema_considerations.html:When large amounts of data are stored in the session but only small amounts ./Multirow_schema_considerations.html:are specifically accessed during servlet processing of an HTTP request, multirow ./Multirow_schema_considerations.html:sessions can improve performance by avoiding unneeded Java object serialization. ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html:
./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html:
./Multirow_schema_considerations.html: Reasons not to use multirow ./Multirow_schema_considerations.html: If data is small in size, you probably do not want the ./Multirow_schema_considerations.html:extra overhead of multiple row reads when one can store everything in one ./Multirow_schema_considerations.html:row. ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: In the case of multirow usage, design your application data objects ./Multirow_schema_considerations.html:not to have references to each other, to prevent circular references. For ./Multirow_schema_considerations.html:example, suppose you are storing two objects A and B in the session using ./Multirow_schema_considerations.html:HttpSession.put(..) method, and A contains a reference to B. In the multirow ./Multirow_schema_considerations.html:case, because objects are stored in different rows of the database, when objects ./Multirow_schema_considerations.html:A and B are retrieved later, the object graph between A and B is different ./Multirow_schema_considerations.html:than stored. A and B behave as independent objects. ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html:
./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html:
Related Tasks
./Multirow_schema_considerations.html:
Switching to a multirow schema ./Multirow_schema_considerations.html:
./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html:
./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html:
./Multirow_schema_considerations.html: ./Multirow_schema_considerations.html: