A method for querying service data, wherein a database memory comprises a column buffer and a row buffer, wherein a column of the column buffer is used to load column data of a database, a row of the row buffer is used to load column data of the column buffer or the column data of the database, and the method comprises: receiving a transactional service data query request that is sent by a transactional service system and that comprises a target column identifier and a first query condition, detecting whether a row index corresponding to the target column identifier exists; and if the row index corresponding to the target column identifier exists, querying, based on the first query condition, column data that corresponds to the target column identifier, and that is in a row in the row buffer and corresponds to the row index, to obtain a query result; and returning the result to the transactional service system; if the row index corresponding to the target column identifier does not exist, detecting whether the column data corresponding to the target column identifier is loaded in the column buffer, and if the column data corresponding to the target column identifier is loaded in the column buffer, reading the column data corresponding to the target column identifier from the column buffer; if the column data corresponding to the target column identifier is not loaded in the column buffer, reading the column data corresponding to the target column identifier from the database; loading the read column data corresponding to the target column identifier to a row in the row buffer; and establishing a correspondence between the target column identifier and a row index of the row, and querying, based on the first query condition, the row in the row buffer containing the column data, to obtain a query result; and returning the result to the transactional service system; wherein the row buffer comprises several sub-buffers, each sub-buffer comprises several rows having a same length, the sub-buffers have a same quantity of rows, and for each i between 1 and the quantity of rows in a sub-buffer, the i th row in a sub-buffer shares a same row index with the i th row in every other sub-buffer; and the loading the read column data corresponding to the target column identifier to a row in the row buffer comprises: dividing, according to the quantity of the rows of the sub-buffer in the row buffer, the read column data corresponding to the target column identifier, and loading one by one each partial column data obtained by means of division to a same location in each row comprised in any one of the sub-buffers. receiving a transactional service data query request that is sent by a transactional service system and that comprises a target column identifier and a first query condition, detecting whether a row index corresponding to the target column identifier exists; and if the row index corresponding to the target column identifier exists, querying, based on the first query condition, column data that corresponds to the target column identifier, and that is in a row in the row buffer and corresponds to the row index, to obtain a query result; and returning the result to the transactional service system; if the row index corresponding to the target column identifier does not exist, detecting whether the column data corresponding to the target column identifier is loaded in the column buffer, and if the column data corresponding to the target column identifier is loaded in the column buffer, reading the column data corresponding to the target column identifier from the column buffer; if the column data corresponding to the target column identifier is not loaded in the column buffer, reading the column data corresponding to the target column identifier from the database; loading the read column data corresponding to the target column identifier to a row in the row buffer; and establishing a correspondence between the target column identifier and a row index of the row, and querying, based on the first query condition, the row in the row buffer containing the column data, to obtain a query result; and returning the result to the transactional service system; wherein the row buffer comprises several sub-buffers, each sub-buffer comprises several rows having a same length, the sub-buffers have a same quantity of rows, and for each i between 1 and the quantity of rows in a sub-buffer, the i th row in a sub-buffer shares a same row index with the i th row in every other sub-buffer; and the loading the read column data corresponding to the target column identifier to a row in the row buffer comprises: dividing, according to the quantity of the rows of the sub-buffer in the row buffer, the read column data corresponding to the target column identifier, and loading one by one each partial column data obtained by means of division to a same location in each row comprised in any one of the sub-buffers.