Due to the advantage of providing maximum data reliability at a given storage cost, $(k+r,k)$ maximum distance separable (MDS) array codes, in which all data symbols can be obtained by any $k$ of $k+r$ nodes, are extensively used in distributed storage systems. $(k+r,k,\alpha)$ piggybacking codes, which are a particular kind of $(k+r,k)$ MDS array codes, reaches low repair bandwidth for a failed single node and possesses small sub-packetization level $\alpha$. In this paper, by dividing the table formed by some instances of base MDS code into regions and carefully adding the data symbols in some regions as piggybacks to the parity symbols in some other regions, we design a new piggybacking code which has higher repair efficiency than the existing piggybacking codes in repairing each systematic node, where a node is said to be systematic if it keeps portions of the raw message in reserve without encoding. The sub-packetization level is roughly equal to 2 times the number $r$ of parity nodes when the new piggybacking code attains the highest repair efficiency.