Databases Reference
In-Depth Information
because the exchange between the machines is a match: little endian to little
endian. What if you installed the application on a UNIX operating system run-
ning on a Solaris machine? You would see a drop in performance because the
database driver must convert long integers retrieved from the database server
from little endian to big endian, as shown in Figure 4-5. Similarly, if your applica-
tion runs on a Windows machine and the database server switched to a UNIX
operating system running on a Solaris machine, the database driver would need
to perform byte-order conversion for long integers because of the mismatch. In
many cases, you can't do anything about a mismatch, but it's helpful to know
that, when all other things are equal, an endianness mismatch impacts perfor-
mance.
Byte-Order Conversion Is Not Required
(Little Endian and Little Endian)
Windows
Client
Windows
Server
Byte-Order Conversion Is Required
(Big Endian and Little Endian)
Solaris
Client
Windows
Server
Figure 4-5 Endianness of processor determines whether byte-order
conversion is required
To complicate matters, the database system doesn't always send data in the
endianness of the operating system of the database server machine. Some data-
base systems always send data either in big endian or little endian. Others send
data using the same endianness of the database server machine. Still others send
data using the same endianness of the database client machine. Table 4-1 lists the
endianness that some common database systems use to send data.
Search WWH ::




Custom Search