Welcome @jiafeimao, to the community!
The various writes can in fact take a maximum of 5ms for a single byte (data sheet, table 19). However, the time can vary, which is why it makes sense to determine the end of the write process with bit WIP (bit 0 of the Read Status Register RDSR, see data sheet, section 6.3.1).
However, a Page Write takes just as long, but can write several bytes in one go from a given start address.
One more addition to the write cycle time tW - the data sheet mentions about this in a note in section 6.6:
The self-timed write cycle tW is internally executed as a sequence of two consecutive events: [Erase addressed byte(s)], followed by [Program addressed byte(s)].
When writing a byte, the byte must first be erased, which is why it can take a little longer for individual bytes. With page write, the bytes are erased in one go, which is why writing is significantly faster.
Does it answer your question?
Regards
/Peter
BTW: you should also take the opportunity to download the new data sheet, your extract is still from the old revision 23.